MixX: Unterschied zwischen den Versionen

Aus Coldmirror-Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
WixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX
+
WixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX
 +
XWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX

Version vom 20. Dezember 2010, 17:49 Uhr

WixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX XWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX