1ÿþv�a�r� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_� �=� �f�u�n�c�t�i�o�n�(�n�a�m�e�)� �{�r�e�t�u�r�n� �(�s�e�l�f�.�_�w�b�_�w�o�m�b�a�t� �&�&� �s�e�l�f�.�_�w�b�_�w�o�m�b�a�t�.�l�o�c�a�l�_�i�n�i�t� �&�&� �s�e�l�f�.�_�w�b�_�w�o�m�b�a�t�.�l�o�c�a�l�_�i�n�i�t�(�n�a�m�e�)�)� �|�|� �s�e�l�f�[�n�a�m�e�]�;� �}�;� 2�i�f� �(�!�s�e�l�f�.�_�_�W�B�_�p�m�w�)� �{� �s�e�l�f�.�_�_�W�B�_�p�m�w� �=� �f�u�n�c�t�i�o�n�(�o�b�j�)� �{� �t�h�i�s�.�_�_�W�B�_�s�o�u�r�c�e� �=� �o�b�j�;� �r�e�t�u�r�n� �t�h�i�s�;� �}� �}� 3�{� 4� � �l�e�t� �w�i�n�d�o�w� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�w�i�n�d�o�w�"�)�;� 5� � �l�e�t� �s�e�l�f� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�s�e�l�f�"�)�;� 6� � �l�e�t� �d�o�c�u�m�e�n�t� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�d�o�c�u�m�e�n�t�"�)�;� 7� � �l�e�t� �l�o�c�a�t�i�o�n� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�l�o�c�a�t�i�o�n�"�)�;� 8� � �l�e�t� �t�o�p� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�t�o�p�"�)�;� 9� � �l�e�t� �p�a�r�e�n�t� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�p�a�r�e�n�t�"�)�;� 10� � �l�e�t� �f�r�a�m�e�s� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�f�r�a�m�e�s�"�)�;� 11� � �l�e�t� �o�p�e�n�e�r� �=� �_�_�_�_�_�W�B�$�w�o�m�b�a�t�$�a�s�s�i�g�n�$�f�u�n�c�t�i�o�n�_�_�_�_�_�(�"�o�p�e�n�e�r�"�)�;� 12� 13�ÿþ/�*�*� �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� 14�M�o�b�i�l�e� �N�a�v� 15�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� �*�*�/� 16� 17�f�u�n�c�t�i�o�n� �u�n�h�i�d�e�(�d�i�v�I�D�)� �{� 18� � � � �v�a�r� �i�t�e�m� �=� �d�o�c�u�m�e�n�t�.�g�e�t�E�l�e�m�e�n�t�B�y�I�d�(�d�i�v�I�D�)�;� 19� � � � �i�f� �(�i�t�e�m�)� �{� 20� � � � � � � � �i�t�e�m�.�c�l�a�s�s�N�a�m�e� �=� �(�i�t�e�m�.�c�l�a�s�s�N�a�m�e� �=�=� �'�h�i�d�d�e�n�'�)� �?� �'�u�n�h�i�d�d�e�n�'� �:� �'�h�i�d�d�e�n�'�;� 21� � � � �}� 22�}� 23� 24�/�*�*� �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� 25�S�m�o�o�t�h� �S�c�r�o�l�l� 26�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� �*�*�/� 27� 28�j�Q�u�e�r�y�(�d�o�c�u�m�e�n�t�)�.�r�e�a�d�y�(�f�u�n�c�t�i�o�n�(�$�)� �{� 29� � � � �$�(�'�a�[�h�r�e�f�*�=�#�]�:�n�o�t�(�[�h�r�e�f�=�#�]�)�'�)�.�c�l�i�c�k�(�f�u�n�c�t�i�o�n�(�)� �{� 30� � � � � � � � �i�f� �(�l�o�c�a�t�i�o�n�.�p�a�t�h�n�a�m�e�.�r�e�p�l�a�c�e�(�/�^�\�/�/�,� �'�'�)� �=�=� �t�h�i�s�.�p�a�t�h�n�a�m�e�.�r�e�p�l�a�c�e�(�/�^�\�/�/�,� �'�'�)� � 31� � � � � � � � �|�|� �l�o�c�a�t�i�o�n�.�h�o�s�t�n�a�m�e� �=�=� �t�h�i�s�.�h�o�s�t�n�a�m�e�)� �{� 32� 33� � � � � � � � � � � � �v�a�r� �t�a�r�g�e�t� �=� �$�(�t�h�i�s�.�h�a�s�h�)�;� 34� � � � � � � � � � � � �t�a�r�g�e�t� �=� �t�a�r�g�e�t�.�l�e�n�g�t�h� �?� �t�a�r�g�e�t� �:� �$�(�'�[�n�a�m�e�=�'� �+� �t�h�i�s�.�h�a�s�h�.�s�l�i�c�e�(�1�)� �+� �'�]�'�)�;� 35� � � � � � � � � � � � �i�f� �(�t�a�r�g�e�t�.�l�e�n�g�t�h�)� �{� 36� � � � � � � � � � � � � � � � �$�(�'�h�t�m�l�,�b�o�d�y�'�)�.�a�n�i�m�a�t�e�(�{� 37� � � � � � � � � � � � � � � � � � � � �s�c�r�o�l�l�T�o�p�:� �t�a�r�g�e�t�.�o�f�f�s�e�t�(�)�.�t�o�p� 38� � � � � � � � � � � � � � � � �}�,� �1�0�0�0�)�;� 39� � � � � � � � � � � � � � � � �r�e�t�u�r�n� �f�a�l�s�e�;� 40� � � � � � � � � � � � �}� 41� � � � � � � � �}� 42� � � � �}�)�;� 43� � � � � 44� � � � �i�f�(� �$�(�'�#�w�o�a�s�a�-�t�a�b�s�'�)�.�l�e�n�g�t�h� �>� �0� �)�{� 45� � � � �/�/�S�c�r�o�l�l�i�n�g� �A�d� 46� � � � �v�a�r� �a�d�T�o�p� �=� �$�(�'�#�s�t�i�c�k�y�-�t�a�b�s�'�)�.�o�f�f�s�e�t�(�)�.�t�o�p�,� � 47� � � � � � � � �a�d� �=� �$�(�'�#�s�t�i�c�k�y�-�t�a�b�s�'�)�,� 48� � � � � � � � �f�o�o�t�e�r�T�o�p� �=� �$�(�'�#�f�o�o�t�e�r�'�)�.�o�f�f�s�e�t�(�)�.�t�o�p�;� 49� 50� � � � �$�(�d�o�c�u�m�e�n�t�)�.�s�c�r�o�l�l�(� �f�u�n�c�t�i�o�n�(�)� �{� 51� � � � � � �v�a�r� �s�c�r�o�l�l�T�o�p� �=� �$�(�d�o�c�u�m�e�n�t�)�.�s�c�r�o�l�l�T�o�p�(�)�;� 52� 53� � � � � � �/�/�f�i�x�/�u�n�f�i�x� �a�s� �n�e�c�e�s�s�a�r�y� 54� � � � � � �i�f� �(�(�a�d�T�o�p� �-� �1�0�0�)� �<� �s�c�r�o�l�l�T�o�p� �&�&� �(� �f�o�o�t�e�r�T�o�p� �-� �0� �)� �>� �s�c�r�o�l�l�T�o�p� �)� �{� 55� � � � � � � � �$�(�a�d�)�.�a�d�d�C�l�a�s�s�(�'�f�i�x�e�d�'�)�;� � 56� � � � � � �}� �e�l�s�e� �{� � 57� � � � � � � � �$�(�a�d�)�.�r�e�m�o�v�e�C�l�a�s�s�(�'�f�i�x�e�d�'�)�;� � 58� � � � � � � � � 59� � � � � � �}� � 60� � � � �}�)�;� 61� � �}� 62� � � � � 63� � �/�*�*� �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� 64� � �D�O�M� �T�a�b�s� � 65� � �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� �*�*�/� 66� � � � �v�a�r� �$�t�a�b�s� �=� �$�(�'�.�t�a�b�s�'�)�,�
67� � � �$�t�a�b�s�_�l�i� �=� �$�t�a�b�s�.�f�i�n�d�(�'�l�i�'�)�,� 68� � � �$�c�o�n�t�e�n�t� �=� �$�(�'�.�c�o�n�t�e�n�t�'�)�;� 69� � � 70� � �$�t�a�b�s�.�o�n�(�'�c�l�i�c�k�'�,� �'�l�i�'�,� �c�h�a�n�g�e�T�a�b�)�;� 71� � � 72� � �f�u�n�c�t�i�o�n� �c�h�a�n�g�e�T�a�b� �(�e�)� �{� 73� � � �e�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�;� 74� � � �v�a�r� �$�t�h�i�s� �=� �$�(�t�h�i�s�)�,� 75� � � � � �t�a�r�g�e�t�_�i�d� �=� �'�#�'� �+� �$�t�h�i�s�.�a�t�t�r�(�'�d�a�t�a�-�t�a�b�'�)�;� 76� � � �$�t�a�b�s�_�l�i�.�r�e�m�o�v�e�C�l�a�s�s�(�'�a�c�t�i�v�e�'�)�;� 77� � � �$�t�h�i�s�.�a�d�d�C�l�a�s�s�(�'�a�c�t�i�v�e�'�)�;� 78� � � �$�c�o�n�t�e�n�t�.�h�i�d�e�(�)�;� 79� � � �$�(�t�a�r�g�e�t�_�i�d�)�.�s�h�o�w�(�)�;� 80� � �}� 81� � � 82�}�)�;� 83� 84� 85�/�*�*� �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� 86�B�o�x� �S�l�i�d�e�r� � 87�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� �*�*�/� 88� 89�/�*�*� 90� �*� �B�x�S�l�i�d�e�r� �v�4�.�1�.�2� �-� �F�u�l�l�y� �l�o�a�d�e�d�,� �r�e�s�p�o�n�s�i�v�e� �c�o�n�t�e�n�t� �s�l�i�d�e�r� 91� �*� �h�t�t�p�:�/�/�b�x�s�l�i�d�e�r�.�c�o�m� 92� �*� 93� �*� �C�o�p�y�r�i�g�h�t� �2�0�1�4�,� �S�t�e�v�e�n� �W�a�n�d�e�r�s�k�i� �-� �h�t�t�p�:�/�/�s�t�e�v�e�n�w�a�n�d�e�r�s�k�i�.�c�o�m� �-� �h�t�t�p�:�/�/�b�x�c�r�e�a�t�i�v�e�.�c�o�m�
94� �*� �W�r�i�t�t�e�n� �w�h�i�l�e� �d�r�i�n�k�i�n�g� �B�e�l�g�i�a�n� �a�l�e�s� �a�n�d� �l�i�s�t�e�n�i�n�g� �t�o� �j�a�z�z� 95� �*� 96� �*� �R�e�l�e�a�s�e�d� �u�n�d�e�r� �t�h�e� �M�I�T� �l�i�c�e�n�s�e� �-� �h�t�t�p�:�/�/�o�p�e�n�s�o�u�r�c�e�.�o�r�g�/�l�i�c�e�n�s�e�s�/�M�I�T� 97� �*�/� 98�!�f�u�n�c�t�i�o�n�(�t�)�{�v�a�r� �e�=�{�}�,�s�=�{�m�o�d�e�:�"�h�o�r�i�z�o�n�t�a�l�"�,�s�l�i�d�e�S�e�l�e�c�t�o�r�:�"�"�,�i�n�f�i�n�i�t�e�L�o�o�p�:�!�0�,�h�i�d�e�C�o�n�t�r�o�l�O�n�E�n�d�:�!�1�,�s�p�e�e�d�:�5�0�0�,�e�a�s�i�n�g�:�n�u�l�l�,�s�l�i�d�e�M�a�r�g�i�n�:�0�,�s�t�a�r�t�S�l�i�d�e�:�0�,�r�a�n�d�o�m�S�t�a�r�t�:�!�1�,�c�a�p�t�i�o�n�s�:�!�1�,�t�i�c�k�e�r�:�!�1�,�t�i�c�k�e�r�H�o�v�e�r�:�!�1�,�a�d�a�p�t�i�v�e�H�e�i�g�h�t�:�!�1�,�a�d�a�p�t�i�v�e�H�e�i�g�h�t�S�p�e�e�d�:�5�0�0�,�v�i�d�e�o�:�!�1�,�u�s�e�C�S�S�:�!�0�,�p�r�e�l�o�a�d�I�m�a�g�e�s�:�"�v�i�s�i�b�l�e�"�,�r�e�s�p�o�n�s�i�v�e�:�!�0�,�s�l�i�d�e�Z�I�n�d�e�x�:�5�0�,�t�o�u�c�h�E�n�a�b�l�e�d�:�!�0�,�s�w�i�p�e�T�h�r�e�s�h�o�l�d�:�5�0�,�o�n�e�T�o�O�n�e�T�o�u�c�h�:�!�0�,�p�r�e�v�e�n�t�D�e�f�a�u�l�t�S�w�i�p�e�X�:�!�0�,�p�r�e�v�e�n�t�D�e�f�a�u�l�t�S�w�i�p�e�Y�:�!�1�,�p�a�g�e�r�:�!�0�,�p�a�g�e�r�T�y�p�e�:�"�f�u�l�l�"�,�p�a�g�e�r�S�h�o�r�t�S�e�p�a�r�a�t�o�r�:�"� �/� �"�,�p�a�g�e�r�S�e�l�e�c�t�o�r�:�n�u�l�l�,�b�u�i�l�d�P�a�g�e�r�:�n�u�l�l�,�p�a�g�e�r�C�u�s�t�o�m�:�n�u�l�l�,�c�o�n�t�r�o�l�s�:�!�0�,�n�e�x�t�T�e�x�t�:�"�N�e�x�t�"�,�p�r�e�v�T�e�x�t�:�"�P�r�e�v�"�,�n�e�x�t�S�e�l�e�c�t�o�r�:�n�u�l�l�,�p�r�e�v�S�e�l�e�c�t�o�r�:�n�u�l�l�,�a�u�t�o�C�o�n�t�r�o�l�s�:�!�1�,�s�t�a�r�t�T�e�x�t�:�"�S�t�a�r�t�"�,�s�t�o�p�T�e�x�t�:�"�S�t�o�p�"�,�a�u�t�o�C�o�n�t�r�o�l�s�C�o�m�b�i�n�e�:�!�1�,�a�u�t�o�C�o�n�t�r�o�l�s�S�e�l�e�c�t�o�r�:�n�u�l�l�,�a�u�t�o�:�!�1�,�p�a�u�s�e�:�4�e�3�,�a�u�t�o�S�t�a�r�t�:�!�0�,�a�u�t�o�D�i�r�e�c�t�i�o�n�:�"�n�e�x�t�"�,�a�u�t�o�H�o�v�e�r�:�!�1�,�a�u�t�o�D�e�l�a�y�:�0�,�m�i�n�S�l�i�d�e�s�:�1�,�m�a�x�S�l�i�d�e�s�:�1�,�m�o�v�e�S�l�i�d�e�s�:�0�,�s�l�i�d�e�W�i�d�t�h�:�0�,�o�n�S�l�i�d�e�r�L�o�a�d�:�f�u�n�c�t�i�o�n�(�)�{�}�,�o�n�S�l�i�d�e�B�e�f�o�r�e�:�f�u�n�c�t�i�o�n�(�)�{�}�,�o�n�S�l�i�d�e�A�f�t�e�r�:�f�u�n�c�t�i�o�n�(�)�{�}�,�o�n�S�l�i�d�e�N�e�x�t�:�f�u�n�c�t�i�o�n�(�)�{�}�,�o�n�S�l�i�d�e�P�r�e�v�:�f�u�n�c�t�i�o�n�(�)�{�}�,�o�n�S�l�i�d�e�r�R�e�s�i�z�e�:�f�u�n�c�t�i�o�n�(�)�{�}�}�;�t�.�f�n�.�b�x�S�l�i�d�e�r�=�f�u�n�c�t�i�o�n�(�n�)�{�i�f�(�0�=�=�t�h�i�s�.�l�e�n�g�t�h�)�r�e�t�u�r�n� �t�h�i�s�;�i�f�(�t�h�i�s�.�l�e�n�g�t�h�>�1�)�r�e�t�u�r�n� �t�h�i�s�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�t�(�t�h�i�s�)�.�b�x�S�l�i�d�e�r�(�n�)�}�)�,�t�h�i�s�;�v�a�r� �o�=�{�}�,�r�=�t�h�i�s�;�e�.�e�l�=�t�h�i�s�;�v�a�r� �a�=�t�(�w�i�n�d�o�w�)�.�w�i�d�t�h�(�)�,�l�=�t�(�w�i�n�d�o�w�)�.�h�e�i�g�h�t�(�)�,�d�=�f�u�n�c�t�i�o�n�(�)�{�o�.�s�e�t�t�i�n�g�s�=�t�.�e�x�t�e�n�d�(�{�}�,�s�,�n�)�,�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�=�p�a�r�s�e�I�n�t�(�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�)�,�o�.�c�h�i�l�d�r�e�n�=�r�.�c�h�i�l�d�r�e�n�(�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�S�e�l�e�c�t�o�r�)�,�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�<�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�&�&�(�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�)�,�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�<�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�&�&�(�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�)�,�o�.�s�e�t�t�i�n�g�s�.�r�a�n�d�o�m�S�t�a�r�t�&�&�(�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�S�l�i�d�e�=�M�a�t�h�.�f�l�o�o�r�(�M�a�t�h�.�r�a�n�d�o�m�(�)�*�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�)�)�,�o�.�a�c�t�i�v�e�=�{�i�n�d�e�x�:�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�S�l�i�d�e�}�,�o�.�c�a�r�o�u�s�e�l�=�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�>�1�|�|�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�>�1�,�o�.�c�a�r�o�u�s�e�l�&�&�(�o�.�s�e�t�t�i�n�g�s�.�p�r�e�l�o�a�d�I�m�a�g�e�s�=�"�a�l�l�"�)�,�o�.�m�i�n�T�h�r�e�s�h�o�l�d�=�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�*�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�+�(�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�-�1�)�*�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�,�o�.�m�a�x�T�h�r�e�s�h�o�l�d�=�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�*�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�+�(�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�-�1�)�*�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�,�o�.�w�o�r�k�i�n�g�=�!�1�,�o�.�c�o�n�t�r�o�l�s�=�{�}�,�o�.�i�n�t�e�r�v�a�l�=�n�u�l�l�,�o�.�a�n�i�m�P�r�o�p�=�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�"�t�o�p�"�:�"�l�e�f�t�"�,�o�.�u�s�i�n�g�C�S�S�=�o�.�s�e�t�t�i�n�g�s�.�u�s�e�C�S�S�&�&�"�f�a�d�e�"�!�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �t�=�d�o�c�u�m�e�n�t�.�c�r�e�a�t�e�E�l�e�m�e�n�t�(�"�d�i�v�"�)�,�e�=�[�"�W�e�b�k�i�t�P�e�r�s�p�e�c�t�i�v�e�"�,�"�M�o�z�P�e�r�s�p�e�c�t�i�v�e�"�,�"�O�P�e�r�s�p�e�c�t�i�v�e�"�,�"�m�s�P�e�r�s�p�e�c�t�i�v�e�"�]�;�f�o�r�(�v�a�r� �i� �i�n� �e�)�i�f�(�v�o�i�d� �0�!�=�=�t�.�s�t�y�l�e�[�e�[�i�]�]�)�r�e�t�u�r�n� �o�.�c�s�s�P�r�e�f�i�x�=�e�[�i�]�.�r�e�p�l�a�c�e�(�"�P�e�r�s�p�e�c�t�i�v�e�"�,�"�"�)�.�t�o�L�o�w�e�r�C�a�s�e�(�)�,�o�.�a�n�i�m�P�r�o�p�=�"�-�"�+�o�.�c�s�s�P�r�e�f�i�x�+�"�-�t�r�a�n�s�f�o�r�m�"�,�!�0�;�r�e�t�u�r�n�!�1�}�(�)�,�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�(�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�=�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�)�,�r�.�d�a�t�a�(�"�o�r�i�g�S�t�y�l�e�"�,�r�.�a�t�t�r�(�"�s�t�y�l�e�"�)�)�,�r�.�c�h�i�l�d�r�e�n�(�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�S�e�l�e�c�t�o�r�
98)�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�t�(�t�h�i�s�)�.�d�a�t�a�(�"�o�r�i�g�S�t�y�l�e�"�,�t�(�t�h�i�s�)�.�a�t�t�r�(�"�s�t�y�l�e�"�)�)�}�)�,�c�(�)�}�,�c�=�f�u�n�c�t�i�o�n�(�)�{�r�.�w�r�a�p�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�w�r�a�p�p�e�r�"�>�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�v�i�e�w�p�o�r�t�"�>�<�/�d�i�v�>�<�/�d�i�v�>�'�)�,�o�.�v�i�e�w�p�o�r�t�=�r�.�p�a�r�e�n�t�(�)�,�o�.�l�o�a�d�e�r�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�l�o�a�d�i�n�g�"� �/�>�'�)�,�o�.�v�i�e�w�p�o�r�t�.�p�r�e�p�e�n�d�(�o�.�l�o�a�d�e�r�)�,�r�.�c�s�s�(�{�w�i�d�t�h�:�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�1�0�0�*�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�+�2�1�5�+�"�%�"�:�"�a�u�t�o�"�,�p�o�s�i�t�i�o�n�:�"�r�e�l�a�t�i�v�e�"�}�)�,�o�.�u�s�i�n�g�C�S�S�&�&�o�.�s�e�t�t�i�n�g�s�.�e�a�s�i�n�g�?�r�.�c�s�s�(�"�-�"�+�o�.�c�s�s�P�r�e�f�i�x�+�"�-�t�r�a�n�s�i�t�i�o�n�-�t�i�m�i�n�g�-�f�u�n�c�t�i�o�n�"�,�o�.�s�e�t�t�i�n�g�s�.�e�a�s�i�n�g�)�:�o�.�s�e�t�t�i�n�g�s�.�e�a�s�i�n�g�|�|�(�o�.�s�e�t�t�i�n�g�s�.�e�a�s�i�n�g�=�"�s�w�i�n�g�"�)�,�f�(�)�,�o�.�v�i�e�w�p�o�r�t�.�c�s�s�(�{�w�i�d�t�h�:�"�1�0�0�%�"�,�o�v�e�r�f�l�o�w�:�"�h�i�d�d�e�n�"�,�p�o�s�i�t�i�o�n�:�"�r�e�l�a�t�i�v�e�"�}�)�,�o�.�v�i�e�w�p�o�r�t�.�p�a�r�e�n�t�(�)�.�c�s�s�(�{�m�a�x�W�i�d�t�h�:�p�(�)�}�)�,�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�|�|�o�.�v�i�e�w�p�o�r�t�.�p�a�r�e�n�t�(�)�.�c�s�s�(�{�m�a�r�g�i�n�:�"�0� �a�u�t�o� �0�p�x�"�}�)�,�o�.�c�h�i�l�d�r�e�n�.�c�s�s�(�{�"�f�l�o�a�t�"�:�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�"�l�e�f�t�"�:�"�n�o�n�e�"�,�l�i�s�t�S�t�y�l�e�:�"�n�o�n�e�"�,�p�o�s�i�t�i�o�n�:�"�r�e�l�a�t�i�v�e�"�}�)�,�o�.�c�h�i�l�d�r�e�n�.�c�s�s�(�"�w�i�d�t�h�"�,�u�(�)�)�,�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�>�0�&�&�o�.�c�h�i�l�d�r�e�n�.�c�s�s�(�"�m�a�r�g�i�n�R�i�g�h�t�"�,�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�)�,�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�>�0�&�&�o�.�c�h�i�l�d�r�e�n�.�c�s�s�(�"�m�a�r�g�i�n�B�o�t�t�o�m�"�,�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�)�,�"�f�a�d�e�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�(�o�.�c�h�i�l�d�r�e�n�.�c�s�s�(�{�p�o�s�i�t�i�o�n�:�"�a�b�s�o�l�u�t�e�"�,�z�I�n�d�e�x�:�0�,�d�i�s�p�l�a�y�:�"�n�o�n�e�"�}�)�,�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�S�l�i�d�e�)�.�c�s�s�(�{�z�I�n�d�e�x�:�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�Z�I�n�d�e�x�,�d�i�s�p�l�a�y�:�"�b�l�o�c�k�"�}�)�)�,�o�.�c�o�n�t�r�o�l�s�.�e�l�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�c�o�n�t�r�o�l�s�"� �/�>�'�)�,�o�.�s�e�t�t�i�n�g�s�.�c�a�p�t�i�o�n�s�&�&�P�(�)�,�o�.�a�c�t�i�v�e�.�l�a�s�t�=�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�S�l�i�d�e�=�=�x�(�)�-�1�,�o�.�s�e�t�t�i�n�g�s�.�v�i�d�e�o�&�&�r�.�f�i�t�V�i�d�s�(�)�;�v�a�r� �e�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�S�l�i�d�e�)�;�"�a�l�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�p�r�e�l�o�a�d�I�m�a�g�e�s�&�&�(�e�=�o�.�c�h�i�l�d�r�e�n�)�,�o�.�s�e�t�t�i�n�g�s�.�t�i�c�k�e�r�?�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�=�!�1�:�(�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�&�&�T�(�)�,�o�.�s�e�t�t�i�n�g�s�.�c�o�n�t�r�o�l�s�&�&�C�(�)�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�&�&�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�&�&�E�(�)�,�(�o�.�s�e�t�t�i�n�g�s�.�c�o�n�t�r�o�l�s�|�|�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�|�|�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�)�&�&�o�.�v�i�e�w�p�o�r�t�.�a�f�t�e�r�(�o�.�c�o�n�t�r�o�l�s�.�e�l�)�)�,�g�(�e�,�h�)�}�,�g�=�f�u�n�c�t�i�o�n�(�e�,�i�)�{�v�a�r� �s�=�e�.�f�i�n�d�(�"�i�m�g�,� �i�f�r�a�m�e�"�)�.�l�e�n�g�t�h�;�i�f�(�0�=�=�s�)�r�e�t�u�r�n� �i�(�)�,�v�o�i�d� �0�;�v�a�r� �n�=�0�;�e�.�f�i�n�d�(�"�i�m�g�,� �i�f�r�a�m�e�"�)�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�t�(�t�h�i�s�)�.�o�n�e�(�"�l�o�a�d�"�,�f�u�n�c�t�i�o�n�(�)�{�+�+�n�=�=�s�&�&�i�(�)�}�)�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�t�h�i�s�.�c�o�m�p�l�e�t�e�&�&�t�(�t�h�i�s�)�.�l�o�a�d�(�)�}�)�}�)�}�,�h�=�f�u�n�c�t�i�o�n�(�)�{�i�f�(�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�&�&�"�f�a�d�e�"�!�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�!�o�.�s�e�t�t�i�n�g�s�.�t�i�c�k�e�r�)�{�v�a�r� �e�=�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�:�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�,�i�=�o�.�c�h�i�l�d�r�e�n�.�s�l�i�c�e�(�0�,�e�)�.�c�l�o�n�e�(�)�.�a�d�d�C�l�a�s�s�(�"�b�x�-�c�l�o�n�e�"�)�,�s�=�o�.�c�h�i�l�d�r�e�n�.�s�l�i�c�e�(�-�e�)�.�c�l�o�n�e�(�)�.�a�d�d�C�l�a�s�s�(�"�b�x�-�c�l�o�n�e�"�)�;�r�.�a�p�p�e�n�d�(�i�)�.�p�r�e�p�e�n�d�(�s�)�}�o�.�l�o�a�d�e�r�.�r�e�m�o�v�e�(�)�,�S�(�)�,�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�(�o�.�s�e�t�t�i�n�g�s�.�a�d�a�
98p�t�i�v�e�H�e�i�g�h�t�=�!�0�)�,�o�.�v�i�e�w�p�o�r�t�.�h�e�i�g�h�t�(�v�(�)�)�,�r�.�r�e�d�r�a�w�S�l�i�d�e�r�(�)�,�o�.�s�e�t�t�i�n�g�s�.�o�n�S�l�i�d�e�r�L�o�a�d�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�i�n�i�t�i�a�l�i�z�e�d�=�!�0�,�o�.�s�e�t�t�i�n�g�s�.�r�e�s�p�o�n�s�i�v�e�&�&�t�(�w�i�n�d�o�w�)�.�b�i�n�d�(�"�r�e�s�i�z�e�"�,�Z�)�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�&�&�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�S�t�a�r�t�&�&�H�(�)�,�o�.�s�e�t�t�i�n�g�s�.�t�i�c�k�e�r�&�&�L�(�)�,�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�&�&�q�(�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�S�l�i�d�e�)�,�o�.�s�e�t�t�i�n�g�s�.�c�o�n�t�r�o�l�s�&�&�W�(�)�,�o�.�s�e�t�t�i�n�g�s�.�t�o�u�c�h�E�n�a�b�l�e�d�&�&�!�o�.�s�e�t�t�i�n�g�s�.�t�i�c�k�e�r�&�&�O�(�)�}�,�v�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �e�=�0�,�s�=�t�(�)�;�i�f�(�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�|�|�o�.�s�e�t�t�i�n�g�s�.�a�d�a�p�t�i�v�e�H�e�i�g�h�t�)�i�f�(�o�.�c�a�r�o�u�s�e�l�)�{�v�a�r� �n�=�1�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�?�o�.�a�c�t�i�v�e�.�i�n�d�e�x�:�o�.�a�c�t�i�v�e�.�i�n�d�e�x�*�m�(�)�;�f�o�r�(�s�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�n�)�,�i�=�1�;�i�<�=�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�-�1�;�i�+�+�)�s�=�n�+�i�>�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�?�s�.�a�d�d�(�o�.�c�h�i�l�d�r�e�n�.�e�q�(�i�-�1�)�)�:�s�.�a�d�d�(�o�.�c�h�i�l�d�r�e�n�.�e�q�(�n�+�i�)�)�}�e�l�s�e� �s�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�;�e�l�s�e� �s�=�o�.�c�h�i�l�d�r�e�n�;�r�e�t�u�r�n�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�(�s�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�e�+�=�t�(�t�h�i�s�)�.�o�u�t�e�r�H�e�i�g�h�t�(�)�}�)�,�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�>�0�&�&�(�e�+�=�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�*�(�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�-�1�)�)�)�:�e�=�M�a�t�h�.�m�a�x�.�a�p�p�l�y�(�M�a�t�h�,�s�.�m�a�p�(�f�u�n�c�t�i�o�n�(�)�{�r�e�t�u�r�n� �t�(�t�h�i�s�)�.�o�u�t�e�r�H�e�i�g�h�t�(�!�1�)�}�)�.�g�e�t�(�)�)�,�e�}�,�p�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �t�=�"�1�0�0�%�"�;�r�e�t�u�r�n� �o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�>�0�&�&�(�t�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�*�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�+�(�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�-�1�)�*�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�:�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�)�,�t�}�,�u�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �t�=�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�,�e�=�o�.�v�i�e�w�p�o�r�t�.�w�i�d�t�h�(�)�;�r�e�t�u�r�n� �0�=�=�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�|�|�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�>�e�&�&�!�o�.�c�a�r�o�u�s�e�l�|�|�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�t�=�e�:�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�>�1�&�&�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�(�e�>�o�.�m�a�x�T�h�r�e�s�h�o�l�d�|�|�e�<�o�.�m�i�n�T�h�r�e�s�h�o�l�d�&�&�(�t�=�(�e�-�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�M�a�r�g�i�n�*�(�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�-�1�)�)�/�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�)�)�,�t�}�,�f�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �t�=�1�;�i�f�(�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�W�i�d�t�h�>�0�)�i�f�(�o�.�v�i�e�w�p�o�r�t�.�w�i�d�t�h�(�)�<�o�.�m�i�n�T�h�r�e�s�h�o�l�d�)�t�=�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�;�e�l�s�e� �i�f�(�o�.�v�i�e�w�p�o�r�t�.�w�i�d�t�h�(�)�>�o�.�m�a�x�T�h�r�e�s�h�o�l�d�)�t�=�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�;�e�l�s�e�{�v�a�r� �e�=�o�.�c�h�i�l�d�r�e�n�.�f�i�r�s�t�(�)�.�w�i�d�t�h�(�)�;�t�=�M�a�t�h�.�f�l�o�o�r�(�o�.�v�i�e�w�p�o�r�t�.�w�i�d�t�h�(�)�/�e�)�}�e�l�s�e�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�(�t�=�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�)�;�r�e�t�u�r�n� �t�}�,�x�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �t�=�0�;�i�f�(�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�>�0�)�i�f�(�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�)�t�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�/�m�(�)�;�e�l�s�e� �f�o�r�(�v�a�r� �e�=�0�,�i�=�0�;�e�<�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�;�)�+�+�t�,�e�=�i�+�f�(�)�,�i�+�=�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�<�=�f�(�)�?�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�:�f�(�)�;�e�l�s�e� �t�=�M�a�t�h�.�c�e�i�l�(�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�/�f�(�)�)�;�r�e�t�u�r�n� �t�}�,�m�=�f�u�n�c�t�i�o�n�(�)�{�r�e�t�u�r�n� �o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�>�0�&�&�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�<�=�f�(�)�?�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�:�f�(�)�}�,�S�=�f�u�n�c�t�i�o�n�(�)�{�i�f�(�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�>�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�&�&�o�.�a�c�t�i�v�e�.�l�a�s�t�&�&�!�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�)�{�i�f�(�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�)�{�v�a�r� �t�=�o�.�c�h�i�l�d�r�e�n�.�l�a�s�t�(�)�,�e�=�t�.�p�o�s�i�t�i�o�n�(�)�;
98�b�(�-�(�e�.�l�e�f�t�-�(�o�.�v�i�e�w�p�o�r�t�.�w�i�d�t�h�(�)�-�t�.�w�i�d�t�h�(�)�)�)�,�"�r�e�s�e�t�"�,�0�)�}�e�l�s�e� �i�f�(�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�)�{�v�a�r� �i�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�-�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�,�e�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�i�)�.�p�o�s�i�t�i�o�n�(�)�;�b�(�-�e�.�t�o�p�,�"�r�e�s�e�t�"�,�0�)�}�}�e�l�s�e�{�v�a�r� �e�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�*�m�(�)�)�.�p�o�s�i�t�i�o�n�(�)�;�o�.�a�c�t�i�v�e�.�i�n�d�e�x�=�=�x�(�)�-�1�&�&�(�o�.�a�c�t�i�v�e�.�l�a�s�t�=�!�0�)�,�v�o�i�d� �0�!�=�e�&�&�(�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�b�(�-�e�.�l�e�f�t�,�"�r�e�s�e�t�"�,�0�)�:�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�b�(�-�e�.�t�o�p�,�"�r�e�s�e�t�"�,�0�)�)�}�}�,�b�=�f�u�n�c�t�i�o�n�(�t�,�e�,�i�,�s�)�{�i�f�(�o�.�u�s�i�n�g�C�S�S�)�{�v�a�r� �n�=�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�"�t�r�a�n�s�l�a�t�e�3�d�(�0�,� �"�+�t�+�"�p�x�,� �0�)�"�:�"�t�r�a�n�s�l�a�t�e�3�d�(�"�+�t�+�"�p�x�,� �0�,� �0�)�"�;�r�.�c�s�s�(�"�-�"�+�o�.�c�s�s�P�r�e�f�i�x�+�"�-�t�r�a�n�s�i�t�i�o�n�-�d�u�r�a�t�i�o�n�"�,�i�/�1�e�3�+�"�s�"�)�,�"�s�l�i�d�e�"�=�=�e�?�(�r�.�c�s�s�(�o�.�a�n�i�m�P�r�o�p�,�n�)�,�r�.�b�i�n�d�(�"�t�r�a�n�s�i�t�i�o�n�e�n�d� �w�e�b�k�i�t�T�r�a�n�s�i�t�i�o�n�E�n�d� �o�T�r�a�n�s�i�t�i�o�n�E�n�d� �M�S�T�r�a�n�s�i�t�i�o�n�E�n�d�"�,�f�u�n�c�t�i�o�n�(�)�{�r�.�u�n�b�i�n�d�(�"�t�r�a�n�s�i�t�i�o�n�e�n�d� �w�e�b�k�i�t�T�r�a�n�s�i�t�i�o�n�E�n�d� �o�T�r�a�n�s�i�t�i�o�n�E�n�d� �M�S�T�r�a�n�s�i�t�i�o�n�E�n�d�"�)�,�D�(�)�}�)�)�:�"�r�e�s�e�t�"�=�=�e�?�r�.�c�s�s�(�o�.�a�n�i�m�P�r�o�p�,�n�)�:�"�t�i�c�k�e�r�"�=�=�e�&�&�(�r�.�c�s�s�(�"�-�"�+�o�.�c�s�s�P�r�e�f�i�x�+�"�-�t�r�a�n�s�i�t�i�o�n�-�t�i�m�i�n�g�-�f�u�n�c�t�i�o�n�"�,�"�l�i�n�e�a�r�"�)�,�r�.�c�s�s�(�o�.�a�n�i�m�P�r�o�p�,�n�)�,�r�.�b�i�n�d�(�"�t�r�a�n�s�i�t�i�o�n�e�n�d� �w�e�b�k�i�t�T�r�a�n�s�i�t�i�o�n�E�n�d� �o�T�r�a�n�s�i�t�i�o�n�E�n�d� �M�S�T�r�a�n�s�i�t�i�o�n�E�n�d�"�,�f�u�n�c�t�i�o�n�(�)�{�r�.�u�n�b�i�n�d�(�"�t�r�a�n�s�i�t�i�o�n�e�n�d� �w�e�b�k�i�t�T�r�a�n�s�i�t�i�o�n�E�n�d� �o�T�r�a�n�s�i�t�i�o�n�E�n�d� �M�S�T�r�a�n�s�i�t�i�o�n�E�n�d�"�)�,�b�(�s�.�r�e�s�e�t�V�a�l�u�e�,�"�r�e�s�e�t�"�,�0�)�,�N�(�)�}�)�)�}�e�l�s�e�{�v�a�r� �a�=�{�}�;�a�[�o�.�a�n�i�m�P�r�o�p�]�=�t�,�"�s�l�i�d�e�"�=�=�e�?�r�.�a�n�i�m�a�t�e�(�a�,�i�,�o�.�s�e�t�t�i�n�g�s�.�e�a�s�i�n�g�,�f�u�n�c�t�i�o�n�(�)�{�D�(�)�}�)�:�"�r�e�s�e�t�"�=�=�e�?�r�.�c�s�s�(�o�.�a�n�i�m�P�r�o�p�,�t�)�:�"�t�i�c�k�e�r�"�=�=�e�&�&�r�.�a�n�i�m�a�t�e�(�a�,�s�p�e�e�d�,�"�l�i�n�e�a�r�"�,�f�u�n�c�t�i�o�n�(�)�{�b�(�s�.�r�e�s�e�t�V�a�l�u�e�,�"�r�e�s�e�t�"�,�0�)�,�N�(�)�}�)�}�}�,�w�=�f�u�n�c�t�i�o�n�(�)�{�f�o�r�(�v�a�r� �e�=�"�"�,�i�=�x�(�)�,�s�=�0�;�i�>�s�;�s�+�+�)�{�v�a�r� �n�=�"�"�;�o�.�s�e�t�t�i�n�g�s�.�b�u�i�l�d�P�a�g�e�r�&�&�t�.�i�s�F�u�n�c�t�i�o�n�(�o�.�s�e�t�t�i�n�g�s�.�b�u�i�l�d�P�a�g�e�r�)�?�(�n�=�o�.�s�e�t�t�i�n�g�s�.�b�u�i�l�d�P�a�g�e�r�(�s�)�,�o�.�p�a�g�e�r�E�l�.�a�d�d�C�l�a�s�s�(�"�b�x�-�c�u�s�t�o�m�-�p�a�g�e�r�"�)�)�:�(�n�=�s�+�1�,�o�.�p�a�g�e�r�E�l�.�a�d�d�C�l�a�s�s�(�"�b�x�-�d�e�f�a�u�l�t�-�p�a�g�e�r�"�)�)�,�e�+�=�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�p�a�g�e�r�-�i�t�e�m�"�>�<�a� �h�r�e�f�=�"�"� �d�a�t�a�-�s�l�i�d�e�-�i�n�d�e�x�=�"�'�+�s�+�'�"� �c�l�a�s�s�=�"�b�x�-�p�a�g�e�r�-�l�i�n�k�"�>�'�+�n�+�"�<�/�a�>�<�/�d�i�v�>�"�}�o�.�p�a�g�e�r�E�l�.�h�t�m�l�(�e�)�}�,�T�=�f�u�n�c�t�i�o�n�(�)�{�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�C�u�s�t�o�m�?�o�.�p�a�g�e�r�E�l�=�t�(�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�C�u�s�t�o�m�)�:�(�o�.�p�a�g�e�r�E�l�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�p�a�g�e�r�"� �/�>�'�)�,�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�S�e�l�e�c�t�o�r�?�t�(�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�S�e�l�e�c�t�o�r�)�.�h�t�m�l�(�o�.�p�a�g�e�r�E�l�)�:�o�.�c�o�n�t�r�o�l�s�.�e�l�.�a�d�d�C�l�a�s�s�(�"�b�x�-�h�a�s�-�p�a�g�e�r�"�)�.�a�p�p�e�n�d�(�o�.�p�a�g�e�r�E�l�)�,�w�(�)�)�,�o�.�p�a�g�e�r�E�l�.�o�n�(�"�c�l�i�c�k�"�,�"�a�"�,�I�)�}�,�C�=�f�u�n�c�t�i�o�n�(�)�{�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�=�t�(�'�<�a� �c�l�a�s�s�=�"�b�x�-�n�e�x�t�"� �h�r�e�f�=�"�"�>�'�+�o�.�s�e�t�t�i�n�g�s�.�n�e�x�t�T�e�x�t�+�"�<�/�a�>�"�)�,�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�=�t�(�'�<�a� �c�l�a�s�s�=�"�b�x�-�p�r�e�v�"� �h�r�e�f�=�"�"�>�'�+�o�.�s�e�t�t�i�n�g�s�.�p�r�e�v�T�e�x�t�+�"�<�/�a�>
98�"�)�,�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�.�b�i�n�d�(�"�c�l�i�c�k�"�,�y�)�,�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�.�b�i�n�d�(�"�c�l�i�c�k�"�,�z�)�,�o�.�s�e�t�t�i�n�g�s�.�n�e�x�t�S�e�l�e�c�t�o�r�&�&�t�(�o�.�s�e�t�t�i�n�g�s�.�n�e�x�t�S�e�l�e�c�t�o�r�)�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�)�,�o�.�s�e�t�t�i�n�g�s�.�p�r�e�v�S�e�l�e�c�t�o�r�&�&�t�(�o�.�s�e�t�t�i�n�g�s�.�p�r�e�v�S�e�l�e�c�t�o�r�)�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�)�,�o�.�s�e�t�t�i�n�g�s�.�n�e�x�t�S�e�l�e�c�t�o�r�|�|�o�.�s�e�t�t�i�n�g�s�.�p�r�e�v�S�e�l�e�c�t�o�r�|�|�(�o�.�c�o�n�t�r�o�l�s�.�d�i�r�e�c�t�i�o�n�E�l�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�c�o�n�t�r�o�l�s�-�d�i�r�e�c�t�i�o�n�"� �/�>�'�)�,�o�.�c�o�n�t�r�o�l�s�.�d�i�r�e�c�t�i�o�n�E�l�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�)�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�)�,�o�.�c�o�n�t�r�o�l�s�.�e�l�.�a�d�d�C�l�a�s�s�(�"�b�x�-�h�a�s�-�c�o�n�t�r�o�l�s�-�d�i�r�e�c�t�i�o�n�"�)�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�d�i�r�e�c�t�i�o�n�E�l�)�)�}�,�E�=�f�u�n�c�t�i�o�n�(�)�{�o�.�c�o�n�t�r�o�l�s�.�s�t�a�r�t�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�c�o�n�t�r�o�l�s�-�a�u�t�o�-�i�t�e�m�"�>�<�a� �c�l�a�s�s�=�"�b�x�-�s�t�a�r�t�"� �h�r�e�f�=�"�"�>�'�+�o�.�s�e�t�t�i�n�g�s�.�s�t�a�r�t�T�e�x�t�+�"�<�/�a�>�<�/�d�i�v�>�"�)�,�o�.�c�o�n�t�r�o�l�s�.�s�t�o�p�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�c�o�n�t�r�o�l�s�-�a�u�t�o�-�i�t�e�m�"�>�<�a� �c�l�a�s�s�=�"�b�x�-�s�t�o�p�"� �h�r�e�f�=�"�"�>�'�+�o�.�s�e�t�t�i�n�g�s�.�s�t�o�p�T�e�x�t�+�"�<�/�a�>�<�/�d�i�v�>�"�)�,�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�=�t�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�c�o�n�t�r�o�l�s�-�a�u�t�o�"� �/�>�'�)�,�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�o�n�(�"�c�l�i�c�k�"�,�"�.�b�x�-�s�t�a�r�t�"�,�k�)�,�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�o�n�(�"�c�l�i�c�k�"�,�"�.�b�x�-�s�t�o�p�"�,�M�)�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�C�o�m�b�i�n�e�?�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�s�t�a�r�t�)�:�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�s�t�a�r�t�)�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�s�t�o�p�)�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�S�e�l�e�c�t�o�r�?�t�(�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�S�e�l�e�c�t�o�r�)�.�h�t�m�l�(�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�)�:�o�.�c�o�n�t�r�o�l�s�.�e�l�.�a�d�d�C�l�a�s�s�(�"�b�x�-�h�a�s�-�c�o�n�t�r�o�l�s�-�a�u�t�o�"�)�.�a�p�p�e�n�d�(�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�)�,�A�(�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�S�t�a�r�t�?�"�s�t�o�p�"�:�"�s�t�a�r�t�"�)�}�,�P�=�f�u�n�c�t�i�o�n�(�)�{�o�.�c�h�i�l�d�r�e�n�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �e�=�t�(�t�h�i�s�)�.�f�i�n�d�(�"�i�m�g�:�f�i�r�s�t�"�)�.�a�t�t�r�(�"�t�i�t�l�e�"�)�;�v�o�i�d� �0�!�=�e�&�&�(�"�"�+�e�)�.�l�e�n�g�t�h�&�&�t�(�t�h�i�s�)�.�a�p�p�e�n�d�(�'�<�d�i�v� �c�l�a�s�s�=�"�b�x�-�c�a�p�t�i�o�n�"�>�<�s�p�a�n�>�'�+�e�+�"�<�/�s�p�a�n�>�<�/�d�i�v�>�"�)�}�)�}�,�y�=�f�u�n�c�t�i�o�n�(�t�)�{�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�&�&�r�.�s�t�o�p�A�u�t�o�(�)�,�r�.�g�o�T�o�N�e�x�t�S�l�i�d�e�(�)�,�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�}�,�z�=�f�u�n�c�t�i�o�n�(�t�)�{�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�&�&�r�.�s�t�o�p�A�u�t�o�(�)�,�r�.�g�o�T�o�P�r�e�v�S�l�i�d�e�(�)�,�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�}�,�k�=�f�u�n�c�t�i�o�n�(�t�)�{�r�.�s�t�a�r�t�A�u�t�o�(�)�,�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�}�,�M�=�f�u�n�c�t�i�o�n�(�t�)�{�r�.�s�t�o�p�A�u�t�o�(�)�,�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�}�,�I�=�f�u�n�c�t�i�o�n�(�e�)�{�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�&�&�r�.�s�t�o�p�A�u�t�o�(�)�;�v�a�r� �i�=�t�(�e�.�c�u�r�r�e�n�t�T�a�r�g�e�t�)�,�s�=�p�a�r�s�e�I�n�t�(�i�.�a�t�t�r�(�"�d�a�t�a�-�s�l�i�d�e�-�i�n�d�e�x�"�)�)�;�s�!�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�&�&�r�.�g�o�T�o�S�l�i�d�e�(�s�)�,�e�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�}�,�q�=�f�u�n�c�t�i�o�n�(�e�)�{�v�a�r� �i�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�;�r�e�t�u�r�n�"�s�h�o�r�t�"�=�=�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�T�y�p�e�?�(�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�>�1�&�&�(�i�=�M�a�t�h�.�c�e�i�l�(�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�/�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�)�)�,�o�.�p�a�g�e�r�E�l�.�h�t�m�l�(�e�+�1�+�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�S�h�o�r�t�S�e�p�a�r�a�t�o�r�+�i�)�,�v�o�i�d� �0�)�:�(�o�.�p�a�g�e�r�E�l�.�f�i�n�d�(�"�a�"�)�.�r�e�m�o�v�e�C�l�a�s�s�(�"�a�c�t�i�v�e�"�)�,�o�.�p�a�g�e�r�E�l�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�i�,�s�)�{�t�(�s�)�.�f�i�n�d�(�"�a�"�)�.�e�q�(�e�)�.�a�d�d�C�l�a�s�s�(�"�a�c�t�i�v�e�"�)�}�)�,�v�o�i�d� �0�)�}�,�D�=�f�u�n�c�t�i�o�n�(�)�{�i�f�(�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�)�{�v�a�r� �t�=�"�"�;�0�=�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�?�t�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�0�)�.�p�o�s�i�t�i�o�n�(�)�:�o�.�a�c�t�i�v�e�.�i�n�d�e�x�=�=�x�(�)�-�1�&�&�o�.�c�a�r�o�u�s�e�l�?�t�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�(�x�(�)�-�1�)�*�m�(�)�)�.�p�o�s�i�t�i�o�n�(�)�:�o�.�a�c�t�i�v�e�.�i�n�d�e�x�=�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�-�1�&�&�(�t�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�-�1�)�.�p�o�s�i�t�i�o�n�(�)�)�,�t�&�&�(�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�b�(�-�t�.�l�e�f�t�,�"�r�e�s�e�t�"�,�0�)�:�"�v�e�r�t�i�c�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�b�(�-�t�.�t�o�p�,�"�r�e�s�e�t�"�,�0�)�)�}�o�.�w�o�r�k�i�n�g�=�!�1�,�o�.�s�e�t�t�i�n�g�s�.�o�n�S�l�i�d�e�A�f�t�e�r�(�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�o�l�d�I�n�d�e�x�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�}�,�A�=�f�u�n�c�t�i�o�n�(�t�)�{�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�C�o�m�b�i�n�e�?�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�h�t�m�l�(�o�.�c�o�n�t�r�o�l�s�[�t�]�)�:�(�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�f�i�n�d�(�"�a�"�)�.�r�e�m�o�v�e�C�l�a�s�s�(�"�a�c�t�i�v�e�"�)�,�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�f�i�n�d�(�"�a�:�n�o�t�(�.�b�x�-�"�+�t�+�"�)�"�)�.�a�d�d�C�l�a�s�s�(�"�a�c�t�i�v�e�"�)�)�}�,�W�=�f�u�n�c�t�i�o�n�(�)�{�1�=�=�x�(�)�?�(�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�.�a�d�d�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�,�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�.�a�d�d�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�)�:�!�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�&�&�o�.�s�e�t�t�i�n�g�s�.�h�i�d�e�C�o�n�t�r�o�l�O�n�E�n�d�&�&�(�0�=�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�?�(�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�.�a�d�d�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�,�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�.�r�e�m�o�v�e�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�)�:�o�.�a�c�t�i�v�e�.�i�n�d�e�x�=�=�x�(�)�-�1�?�(�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�.�a�d�d�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�,�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�.�r�e�m�o�v�e�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�)�:�(�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�.�r�e�m�o�v�e�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�,�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�.�r�e�m�o�v�e�C�l�a�s�s�(�"�d�i�s�a�b�l�e�d�"�)�)�)�}�,�H�=�f�u�n�c�t�i�o�n�(�)�{�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�D�e�l�a�y�>�0�?�s�e�t�T�i�m�e�o�u�t�(�r�.�s�t�a�r�t�A�u�t�o�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�D�e�l�a�y�)�:�r�.�s�t�a�r�t�A�u�t�o�(�)�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�H�o�v�e�r�&�&�r�.�h�o�v�e�r�(�f�u�n�c�t�i�o�n�(�)�{�o�.�i�n�t�e�r�v�a�l�&�&�(�r�.�s�t�o�p�A�u�t�o�(�!�0�)�,�o�.�a�u�t�o�P�a�u�s�e�d�=�!�0�)�}�,�f�u�n�c�t�i�o�n�(�)�{�o�.�a�u�t�o�P�a�u�s�e�d�&�&�(�r�.�s�t�a�r�t�A�u�t�o�(�!�0�)�,�o�.�a�u�t�o�P�a�u�s�e�d�=�n�u�l�l�)�}�)�}�,�L�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �e�=�0�;�i�f�(�"�n�e�x�t�"�=�=�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�D�i�r�e�c�t�i�o�n�)�r�.�a�p�p�e�n�d�(�o�.�c�h�i�l�d�r�e�n�.�c�l�o�n�e�(�)�.�a�d�d�C�l�a�s�s�(�"�b�x�-�c�l�o�n�e�"�)�)�;�e�l�s�e�{�r�.�p�r�e�p�e�n�d�(�o�.�c�h�i�l�d�r�e�n�.�c�l�o�n�e�(�)�.�a�d�d�C�l�a�s�s�(�"�b�x�-�c�l�o�n�e�"�)�)�;�v�a�r� �i�=�o�.�c�h�i�l�d�r�e�n�.�f�i�r�s�t�(�)�.�p�o�s�i�t�i�o�n�(�)�;�e�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�-�i�.�l�e�f�t�:�-�i�.�t�o�p�}�b�(�e�,�"�r�e�s�e�t�"�,�0�)�,�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�=�!�1�,�o�.�s�e�t�t�i�n�g�s�.�c�o�n�t�r�o�l�s�=�!�1�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�=�!�1�,�o�.�s�e�t�t�i�n�g�s�.�t�i�c�k�e�r�H�o�v�e�r�&�&�!�o�.�u�s�i�n�g�C�S�S�&�&�o�.�v�i�e�w�p�o�r�t�.
98�h�o�v�e�r�(�f�u�n�c�t�i�o�n�(�)�{�r�.�s�t�o�p�(�)�}�,�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �e�=�0�;�o�.�c�h�i�l�d�r�e�n�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�e�+�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�t�(�t�h�i�s�)�.�o�u�t�e�r�W�i�d�t�h�(�!�0�)�:�t�(�t�h�i�s�)�.�o�u�t�e�r�H�e�i�g�h�t�(�!�0�)�}�)�;�v�a�r� �i�=�o�.�s�e�t�t�i�n�g�s�.�s�p�e�e�d�/�e�,�s�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�"�l�e�f�t�"�:�"�t�o�p�"�,�n�=�i�*�(�e�-�M�a�t�h�.�a�b�s�(�p�a�r�s�e�I�n�t�(�r�.�c�s�s�(�s�)�)�)�)�;�N�(�n�)�}�)�,�N�(�)�}�,�N�=�f�u�n�c�t�i�o�n�(�t�)�{�s�p�e�e�d�=�t�?�t�:�o�.�s�e�t�t�i�n�g�s�.�s�p�e�e�d�;�v�a�r� �e�=�{�l�e�f�t�:�0�,�t�o�p�:�0�}�,�i�=�{�l�e�f�t�:�0�,�t�o�p�:�0�}�;�"�n�e�x�t�"�=�=�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�D�i�r�e�c�t�i�o�n�?�e�=�r�.�f�i�n�d�(�"�.�b�x�-�c�l�o�n�e�"�)�.�f�i�r�s�t�(�)�.�p�o�s�i�t�i�o�n�(�)�:�i�=�o�.�c�h�i�l�d�r�e�n�.�f�i�r�s�t�(�)�.�p�o�s�i�t�i�o�n�(�)�;�v�a�r� �s�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�-�e�.�l�e�f�t�:�-�e�.�t�o�p�,�n�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�-�i�.�l�e�f�t�:�-�i�.�t�o�p�,�a�=�{�r�e�s�e�t�V�a�l�u�e�:�n�}�;�b�(�s�,�"�t�i�c�k�e�r�"�,�s�p�e�e�d�,�a�)�}�,�O�=�f�u�n�c�t�i�o�n�(�)�{�o�.�t�o�u�c�h�=�{�s�t�a�r�t�:�{�x�:�0�,�y�:�0�}�,�e�n�d�:�{�x�:�0�,�y�:�0�}�}�,�o�.�v�i�e�w�p�o�r�t�.�b�i�n�d�(�"�t�o�u�c�h�s�t�a�r�t�"�,�X�)�}�,�X�=�f�u�n�c�t�i�o�n�(�t�)�{�i�f�(�o�.�w�o�r�k�i�n�g�)�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�;�e�l�s�e�{�o�.�t�o�u�c�h�.�o�r�i�g�i�n�a�l�P�o�s�=�r�.�p�o�s�i�t�i�o�n�(�)�;�v�a�r� �e�=�t�.�o�r�i�g�i�n�a�l�E�v�e�n�t�;�o�.�t�o�u�c�h�.�s�t�a�r�t�.�x�=�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�X�,�o�.�t�o�u�c�h�.�s�t�a�r�t�.�y�=�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�Y�,�o�.�v�i�e�w�p�o�r�t�.�b�i�n�d�(�"�t�o�u�c�h�m�o�v�e�"�,�Y�)�,�o�.�v�i�e�w�p�o�r�t�.�b�i�n�d�(�"�t�o�u�c�h�e�n�d�"�,�V�)�}�}�,�Y�=�f�u�n�c�t�i�o�n�(�t�)�{�v�a�r� �e�=�t�.�o�r�i�g�i�n�a�l�E�v�e�n�t�,�i�=�M�a�t�h�.�a�b�s�(�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�X�-�o�.�t�o�u�c�h�.�s�t�a�r�t�.�x�)�,�s�=�M�a�t�h�.�a�b�s�(�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�Y�-�o�.�t�o�u�c�h�.�s�t�a�r�t�.�y�)�;�i�f�(�3�*�i�>�s�&�&�o�.�s�e�t�t�i�n�g�s�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�S�w�i�p�e�X�?�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�:�3�*�s�>�i�&�&�o�.�s�e�t�t�i�n�g�s�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�S�w�i�p�e�Y�&�&�t�.�p�r�e�v�e�n�t�D�e�f�a�u�l�t�(�)�,�"�f�a�d�e�"�!�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�&�&�o�.�s�e�t�t�i�n�g�s�.�o�n�e�T�o�O�n�e�T�o�u�c�h�)�{�v�a�r� �n�=�0�;�i�f�(�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�)�{�v�a�r� �r�=�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�X�-�o�.�t�o�u�c�h�.�s�t�a�r�t�.�x�;�n�=�o�.�t�o�u�c�h�.�o�r�i�g�i�n�a�l�P�o�s�.�l�e�f�t�+�r�}�e�l�s�e�{�v�a�r� �r�=�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�Y�-�o�.�t�o�u�c�h�.�s�t�a�r�t�.�y�;�n�=�o�.�t�o�u�c�h�.�o�r�i�g�i�n�a�l�P�o�s�.�t�o�p�+�r�}�b�(�n�,�"�r�e�s�e�t�"�,�0�)�}�}�,�V�=�f�u�n�c�t�i�o�n�(�t�)�{�o�.�v�i�e�w�p�o�r�t�.�u�n�b�i�n�d�(�"�t�o�u�c�h�m�o�v�e�"�,�Y�)�;�v�a�r� �e�=�t�.�o�r�i�g�i�n�a�l�E�v�e�n�t�,�i�=�0�;�i�f�(�o�.�t�o�u�c�h�.�e�n�d�.�x�=�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�X�,�o�.�t�o�u�c�h�.�e�n�d�.�y�=�e�.�c�h�a�n�g�e�d�T�o�u�c�h�e�s�[�0�]�.�p�a�g�e�Y�,�"�f�a�d�e�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�)�{�v�a�r� �s�=�M�a�t�h�.�a�b�s�(�o�.�t�o�u�c�h�.�s�t�a�r�t�.�x�-�o�.�t�o�u�c�h�.�e�n�d�.�x�)�;�s�>�=�o�.�s�e�t�t�i�n�g�s�.�s�w�i�p�e�T�h�r�e�s�h�o�l�d�&�&�(�o�.�t�o�u�c�h�.�s�t�a�r�t�.�x�>�o�.�t�o�u�c�h�.�e�n�d�.�x�?�r�.�g�o�T�o�N�e�x�t�S�l�i�d�e�(�)�:�r�.�g�o�T�o�P�r�e�v�S�l�i�d�e�(�)�,�r�.�s�t�o�p�A�u�t�o�(�)�)�}�e�l�s�e�{�v�a�r� �s�=�0�;�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�(�s�=�o�.�t�o�u�c�h�.�e�n�d�.�x�-�o�.�t�o�u�c�h�.�s�t�a�r�t�.�x�,�i�=�o�.�t�o�u�c�h�.�o�r�i�g�i�n�a�l�P�o�s�.�l�e�f�t�)�:�(�s�=�o�.�t�o�u�c�h�.�e�n�d�.�y�-�o�.�t�o�u�c�h�.�s�t�a�r�t�.�y�,�i�=�o�.�t�o�u�c�h�.�o�r�i�g�i�n�a�l�P�o�s�.�t�o�p�)�,�!�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�&�&�(�0�=�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�&�&�s�>�0�|�|�o�.�a�c�t�i�v�e�.�l�a�s�t�&�&�0�>�s�)�?�b�(�i�,�"�r�e�s�e�t�"�,�2�0�0�)�:�M�a�t�h�.�a�b�s�(�s�)�>�=�o�.�s�e�t�t�i�n�g�s�.�s�w�i�p�e�T�h�r�e�s�h�o�l�d�?�(�0�>�s�?�r�.�g�o�T�o�N�e�x�t�S�l�i�d�e�(�)�:�r�.�g�o�T�o�P�r�e�v�S�l�i�d�e�(�)�,�r�.�s�t�o�p�A�u�t�o�(�)�)�:�b�(�i�,�"�r�e�s�e�t�"�,�2�0�0�)�}
98�o�.�v�i�e�w�p�o�r�t�.�u�n�b�i�n�d�(�"�t�o�u�c�h�e�n�d�"�,�V�)�}�,�Z�=�f�u�n�c�t�i�o�n�(�)�{�v�a�r� �e�=�t�(�w�i�n�d�o�w�)�.�w�i�d�t�h�(�)�,�i�=�t�(�w�i�n�d�o�w�)�.�h�e�i�g�h�t�(�)�;�(�a�!�=�e�|�|�l�!�=�i�)�&�&�(�a�=�e�,�l�=�i�,�r�.�r�e�d�r�a�w�S�l�i�d�e�r�(�)�,�o�.�s�e�t�t�i�n�g�s�.�o�n�S�l�i�d�e�r�R�e�s�i�z�e�.�c�a�l�l�(�r�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�)�}�;�r�e�t�u�r�n� �r�.�g�o�T�o�S�l�i�d�e�=�f�u�n�c�t�i�o�n�(�e�,�i�)�{�i�f�(�!�o�.�w�o�r�k�i�n�g�&�&�o�.�a�c�t�i�v�e�.�i�n�d�e�x�!�=�e�)�i�f�(�o�.�w�o�r�k�i�n�g�=�!�0�,�o�.�o�l�d�I�n�d�e�x�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�=�0�>�e�?�x�(�)�-�1�:�e�>�=�x�(�)�?�0�:�e�,�o�.�s�e�t�t�i�n�g�s�.�o�n�S�l�i�d�e�B�e�f�o�r�e�(�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�o�l�d�I�n�d�e�x�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�"�n�e�x�t�"�=�=�i�?�o�.�s�e�t�t�i�n�g�s�.�o�n�S�l�i�d�e�N�e�x�t�(�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�o�l�d�I�n�d�e�x�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�:�"�p�r�e�v�"�=�=�i�&�&�o�.�s�e�t�t�i�n�g�s�.�o�n�S�l�i�d�e�P�r�e�v�(�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�o�l�d�I�n�d�e�x�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�a�c�t�i�v�e�.�l�a�s�t�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�>�=�x�(�)�-�1�,�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�&�&�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�,�o�.�s�e�t�t�i�n�g�s�.�c�o�n�t�r�o�l�s�&�&�W�(�)�,�"�f�a�d�e�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�)�o�.�s�e�t�t�i�n�g�s�.�a�d�a�p�t�i�v�e�H�e�i�g�h�t�&�&�o�.�v�i�e�w�p�o�r�t�.�h�e�i�g�h�t�(�)�!�=�v�(�)�&�&�o�.�v�i�e�w�p�o�r�t�.�a�n�i�m�a�t�e�(�{�h�e�i�g�h�t�:�v�(�)�}�,�o�.�s�e�t�t�i�n�g�s�.�a�d�a�p�t�i�v�e�H�e�i�g�h�t�S�p�e�e�d�)�,�o�.�c�h�i�l�d�r�e�n�.�f�i�l�t�e�r�(�"�:�v�i�s�i�b�l�e�"�)�.�f�a�d�e�O�u�t�(�o�.�s�e�t�t�i�n�g�s�.�s�p�e�e�d�)�.�c�s�s�(�{�z�I�n�d�e�x�:�0�}�)�,�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�.�c�s�s�(�"�z�I�n�d�e�x�"�,�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�Z�I�n�d�e�x�+�1�)�.�f�a�d�e�I�n�(�o�.�s�e�t�t�i�n�g�s�.�s�p�e�e�d�,�f�u�n�c�t�i�o�n�(�)�{�t�(�t�h�i�s�)�.�c�s�s�(�"�z�I�n�d�e�x�"�,�o�.�s�e�t�t�i�n�g�s�.�s�l�i�d�e�Z�I�n�d�e�x�)�,�D�(�)�}�)�;�e�l�s�e�{�o�.�s�e�t�t�i�n�g�s�.�a�d�a�p�t�i�v�e�H�e�i�g�h�t�&�&�o�.�v�i�e�w�p�o�r�t�.�h�e�i�g�h�t�(�)�!�=�v�(�)�&�&�o�.�v�i�e�w�p�o�r�t�.�a�n�i�m�a�t�e�(�{�h�e�i�g�h�t�:�v�(�)�}�,�o�.�s�e�t�t�i�n�g�s�.�a�d�a�p�t�i�v�e�H�e�i�g�h�t�S�p�e�e�d�)�;�v�a�r� �s�=�0�,�n�=�{�l�e�f�t�:�0�,�t�o�p�:�0�}�;�i�f�(�!�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�&�&�o�.�c�a�r�o�u�s�e�l�&�&�o�.�a�c�t�i�v�e�.�l�a�s�t�)�i�f�(�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�)�{�v�a�r� �a�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�-�1�)�;�n�=�a�.�p�o�s�i�t�i�o�n�(�)�,�s�=�o�.�v�i�e�w�p�o�r�t�.�w�i�d�t�h�(�)�-�a�.�o�u�t�e�r�W�i�d�t�h�(�)�}�e�l�s�e�{�v�a�r� �l�=�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�-�o�.�s�e�t�t�i�n�g�s�.�m�i�n�S�l�i�d�e�s�;�n�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�l�)�.�p�o�s�i�t�i�o�n�(�)�}�e�l�s�e� �i�f�(�o�.�c�a�r�o�u�s�e�l�&�&�o�.�a�c�t�i�v�e�.�l�a�s�t�&�&�"�p�r�e�v�"�=�=�i�)�{�v�a�r� �d�=�1�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�v�e�S�l�i�d�e�s�?�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�-�m�(�)�:�(�x�(�)�-�1�)�*�m�(�)�-�(�o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�-�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�)�,�a�=�r�.�c�h�i�l�d�r�e�n�(�"�.�b�x�-�c�l�o�n�e�"�)�.�e�q�(�d�)�;�n�=�a�.�p�o�s�i�t�i�o�n�(�)�}�e�l�s�e� �i�f�(�"�n�e�x�t�"�=�=�i�&�&�0�=�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�n�=�r�.�f�i�n�d�(�"�>� �.�b�x�-�c�l�o�n�e�"�)�.�e�q�(�o�.�s�e�t�t�i�n�g�s�.�m�a�x�S�l�i�d�e�s�)�.�p�o�s�i�t�i�o�n�(�)�,�o�.�a�c�t�i�v�e�.�l�a�s�t�=�!�1�;�e�l�s�e� �i�f�(�e�>�=�0�)�{�v�a�r� �c�=�e�*�m�(�)�;�n�=�o�.�c�h�i�l�d�r�e�n�.�e�q�(�c�)�.�p�o�s�i�t�i�o�n�(�)�}�i�f�(�"�u�n�d�e�f�i�n�e�d�"�!�=�t�y�p�e�o�f� �n�)�{�v�a�r� �g�=�"�h�o�r�i�z�o�n�t�a�l�"�=�=�o�.�s�e�t�t�i�n�g�s�.�m�o�d�e�?�-�(�n�.�l�e�f�t�-�s�)�:�-�n�.�t�o�p�;�b�(�g�,�"�s�l�i�d�e�"�,�o�.�s�e�t�t�i�n�g�s�.�s�p�e�e�d�)�}�}�}�,�r�.�g�o�T�o�N�e�x�t�S�l�i�d�e�=�f�u�n�c�t�i�o�n�(�)�{�i�f�(�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�|�|�!�o�.�a�c�t�i�v�e�.�l�a�s�t�)�{�v�a�r� �t�=�p�a�r�s�e�I�n�t�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�+�1�;�r�.�g�o�T�o�S�l�i�d�e�(�t�,�"�n�e�x�t�"�)�}�}�,�r�.�g�o�T�o�P�r�e�v�S�l�i�d�e�=�f�u�n�c�t�i�o�n�(�)�{�i�f�(�o�.�s�e�t�t�i�n�g�s�.�i�n�f�i�n�i�t�e�L�o�o�p�|�|�0�!�=�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�{�v�a�r� �t�=�p�a�r�s�e�I�n�t�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�-�1�;�r�.�g�o�T�o�S�l�i�d�e�(�t�,�"�p�r�e�v�"�)�}�}�,�r�.�s�t�a�r�t�A�u�t�o�=�f�u�n�c�t�i�o�n�(�t�)�{�o�.�i�n�t�e�r�v�a�l�|�|�(�o�.�i�n�t�e�r�v�a�l�=�s�e�t�I�n�t�e�r�v�a�l�(�f�u�n�c�t�i�o�n�(�)�{�"�n�e�x�t�"�=�=�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�D�i�r�e�c�t�i�o�n�?�r�.�g�o�T�o�N�e�x�t�S�l�i�d�e�(�)�:�r�.�g�o�T�o�P�r�e�v�S�l�i�d�e�(�)�}�,�o�.�s�e�t�t�i�n�g�s�.�p�a�u�s�e�)�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�&�&�1�!�=�t�&�&�A�(�"�s�t�o�p�"�)�)�}�,�r�.�s�t�o�p�A�u�t�o�=�f�u�n�c�t�i�o�n�(�t�)�{�o�.�i�n�t�e�r�v�a�l�&�&�(�c�l�e�a�r�I�n�t�e�r�v�a�l�(�o�.�i�n�t�e�r�v�a�l�)�,�o�.�i�n�t�e�r�v�a�l�=�n�u�l�l�,�o�.�s�e�t�t�i�n�g�s�.�a�u�t�o�C�o�n�t�r�o�l�s�&�&�1�!�=�t�&�&�A�(�"�s�t�a�r�t�"�)�)�}�,�r�.�g�e�t�C�u�r�r�e�n�t�S�l�i�d�e�=�f�u�n�c�t�i�o�n�(�)�{�r�e�t�u�r�n� �o�.�a�c�t�i�v�e�.�i�n�d�e�x�}�,�r�.�g�e�t�C�u�r�r�e�n�t�S�l�i�d�e�E�l�e�m�e�n�t�=�f�u�n�c�t�i�o�n�(�)�{�r�e�t�u�r�n� �o�.�c�h�i�l�d�r�e�n�.�e�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�}�,�r�.�g�e�t�S�l�i�d�e�C�o�u�n�t�=�f�u�n�c�t�i�o�n�(�)�{�r�e�t�u�r�n� �o�.�c�h�i�l�d�r�e�n�.�l�e�n�g�t�h�}�,�r�.�r�e�d�r�a�w�S�l�i�d�e�r�=�f�u�n�c�t�i�o�n�(�)�{�o�.�c�h�i�l�d�r�e�n�.�a�d�d�(�r�.�f�i�n�d�(�"�.�b�x�-�c�l�o�n�e�"�)�)�.�o�u�t�e�r
98�W�i�d�t�h�(�u�(�)�)�,�o�.�v�i�e�w�p�o�r�t�.�c�s�s�(�"�h�e�i�g�h�t�"�,�v�(�)�)�,�o�.�s�e�t�t�i�n�g�s�.�t�i�c�k�e�r�|�|�S�(�)�,�o�.�a�c�t�i�v�e�.�l�a�s�t�&�&�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�=�x�(�)�-�1�)�,�o�.�a�c�t�i�v�e�.�i�n�d�e�x�>�=�x�(�)�&�&�(�o�.�a�c�t�i�v�e�.�l�a�s�t�=�!�0�)�,�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�&�&�!�o�.�s�e�t�t�i�n�g�s�.�p�a�g�e�r�C�u�s�t�o�m�&�&�(�w�(�)�,�q�(�o�.�a�c�t�i�v�e�.�i�n�d�e�x�)�)�}�,�r�.�d�e�s�t�r�o�y�S�l�i�d�e�r�=�f�u�n�c�t�i�o�n�(�)�{�o�.�i�n�i�t�i�a�l�i�z�e�d�&�&�(�o�.�i�n�i�t�i�a�l�i�z�e�d�=�!�1�,�t�(�"�.�b�x�-�c�l�o�n�e�"�,�t�h�i�s�)�.�r�e�m�o�v�e�(�)�,�o�.�c�h�i�l�d�r�e�n�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)�{�v�o�i�d� �0�!�=�t�(�t�h�i�s�)�.�d�a�t�a�(�"�o�r�i�g�S�t�y�l�e�"�)�?�t�(�t�h�i�s�)�.�a�t�t�r�(�"�s�t�y�l�e�"�,�t�(�t�h�i�s�)�.�d�a�t�a�(�"�o�r�i�g�S�t�y�l�e�"�)�)�:�t�(�t�h�i�s�)�.�r�e�m�o�v�e�A�t�t�r�(�"�s�t�y�l�e�"�)�}�)�,�v�o�i�d� �0�!�=�t�(�t�h�i�s�)�.�d�a�t�a�(�"�o�r�i�g�S�t�y�l�e�"�)�?�t�h�i�s�.�a�t�t�r�(�"�s�t�y�l�e�"�,�t�(�t�h�i�s�)�.�d�a�t�a�(�"�o�r�i�g�S�t�y�l�e�"�)�)�:�t�(�t�h�i�s�)�.�r�e�m�o�v�e�A�t�t�r�(�"�s�t�y�l�e�"�)�,�t�(�t�h�i�s�)�.�u�n�w�r�a�p�(�)�.�u�n�w�r�a�p�(�)�,�o�.�c�o�n�t�r�o�l�s�.�e�l�&�&�o�.�c�o�n�t�r�o�l�s�.�e�l�.�r�e�m�o�v�e�(�)�,�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�&�&�o�.�c�o�n�t�r�o�l�s�.�n�e�x�t�.�r�e�m�o�v�e�(�)�,�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�&�&�o�.�c�o�n�t�r�o�l�s�.�p�r�e�v�.�r�e�m�o�v�e�(�)�,�o�.�p�a�g�e�r�E�l�&�&�o�.�s�e�t�t�i�n�g�s�.�c�o�n�t�r�o�l�s�&�&�o�.�p�a�g�e�r�E�l�.�r�e�m�o�v�e�(�)�,�t�(�"�.�b�x�-�c�a�p�t�i�o�n�"�,�t�h�i�s�)�.�r�e�m�o�v�e�(�)�,�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�&�&�o�.�c�o�n�t�r�o�l�s�.�a�u�t�o�E�l�.�r�e�m�o�v�e�(�)�,�c�l�e�a�r�I�n�t�e�r�v�a�l�(�o�.�i�n�t�e�r�v�a�l�)�,�o�.�s�e�t�t�i�n�g�s�.�r�e�s�p�o�n�s�i�v�e�&�&�t�(�w�i�n�d�o�w�)�.�u�n�b�i�n�d�(�"�r�e�s�i�z�e�"�,�Z�)�)�}�,�r�.�r�e�l�o�a�d�S�l�i�d�e�r�=�f�u�n�c�t�i�o�n�(�t�)�{�v�o�i�d� �0�!�=�t�&�&�(�n�=�t�)�,�r�.�d�e�s�t�r�o�y�S�l�i�d�e�r�(�)�,�d�(�)�}�,�d�(�)�,�t�h�i�s�}�}�(�j�Q�u�e�r�y�)�;� 99� 100�$�(�d�o�c�u�m�e�n�t�)�.�r�e�a�d�y�(�f�u�n�c�t�i�o�n�(�)�{� 101� �$�(�'�.�b�x�s�l�i�d�e�r�'�)�.�b�x�S�l�i�d�e�r�(� 102� �{� 103� � � � � �a�u�t�o�:� �t�r�u�e�,� 104� � � � � �i�n�f�i�n�i�t�e�L�o�o�p�:� �t�r�u�e�,� 105� � � � � �h�i�d�e�C�o�n�t�r�o�l�O�n�E�n�d�:� �t�r�u�e�,� 106� � � � � �p�a�u�s�e�:� �7�0�0�0�,� 107� � � � � �m�o�d�e�:� �'�f�a�d�e�'�,� 108� � � � � �r�a�n�d�o�m�S�t�a�r�t�:� �t�r�u�e�,� 109� � � � � �t�o�u�c�h�E�n�a�b�l�e�d�:� �f�a�l�s�e� 110� �}� 111� �)�;� 112� �}�)�;� 113� 114� 115�/�*�*� �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� 116�I�E� �P�l�a�c�e�h�o�l�d�e�r� �F�i�x� � 117�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� �*�*�/� 118� 119�;�(�f�u�n�c�t�i�o�n�(�w�i�n�d�o�w�,� �d�o�c�u�m�e�n�t�,� �$�)� �{� 120� 121� �v�a�r� �i�s�I�n�p�u�t�S�u�p�p�o�r�t�e�d� �=� �'�p�l�a�c�e�h�o�l�d�e�r�'� �i�n� �d�o�c�u�m�e�n�t�.�c�r�e�a�t�e�E�l�e�m�e�n�t�(�'�i�n�p�u�t�'�)�;� 122� �v�a�r� �i�s�T�e�x�t�a�r�e�a�S�u�p�p�o�r�t�e�d� �=� �'�p�l�a�c�e�h�o�l�d�e�r�'� �i�n� �d�o�c�u�m�e�n�t�.�c�r�e�a�t�e�E�l�e�m�e�n�t�(�'�t�e�x�t�a�r�e�a�'�)�;� 123� �v�a�r� �p�r�o�t�o�t�y�p�e� �=� �$�.�f�n�;� 124� �v�a�r� �v�a�l�H�o�o�k�s� �=� �$�.�v�a�l�H�o�o�k�s�;� 125� �v�a�r� �p�r�o�p�H�o�o�k�s� �=� �$�.�p�r�o�p�H�o�o�k�s�;� 126� �v�a�r� �h�o�o�k�s�;� 127� �v�a�r� �p�l�a�c�e�h�o�l�d�e�r�;� 128� 129� �i�f� �(�i�s�I�n�p�u�t�S�u�p�p�o�r�t�e�d� �&�&� �i�s�T�e�x�t�a�r�e�a�S�u�p�p�o�r�t�e�d�)� �{� 130� 131� � �p�l�a�c�e�h�o�l�d�e�r� �=� �p�r�o�t�o�t�y�p�e�.�p�l�a�c�e�h�o�l�d�e�r� �=� �f�u�n�c�t�i�o�n�(�)� �{� 132� � � �r�e�t�u�r�n� �t�h�i�s�;� 133� � �}�;� 134� 135� � �p�l�a�c�e�h�o�l�d�e�r�.�i�n�p�u�t� �=� �p�l�a�c�e�h�o�l�d�e�r�.�t�e�x�t�a�r�e�a� �=� �t�r�u�e�;� 136� 137� �}� �e�l�s�e� �{� 138� 139� � �p�l�a�c�e�h�o�l�d�e�r� �=� �p�r�o�t�o�t�y�p�e�.�p�l�a�c�e�h�o�l�d�e�r� �=� �f�u�n�c�t�i�o�n�(�)� �{� 140� � � �v�a�r� �$�t�h�i�s� �=� �t�h�i�s�;� 141� � � �$�t�h�i�s� 142� � � � �.�f�i�l�t�e�r�(�(�i�s�I�n�p�u�t�S�u�p�p�o�r�t�e�d� �?� �'�t�e�x�t�a�r�e�a�'� �:� �'�:�i�n�p�u�t�'�)� �+� �'�[�p�l�a�c�e�h�o�l�d�e�r�]�'�)� 143� � � � �.�n�o�t�(�'�.�p�l�a�c�e�h�o�l�d�e�r�'�)� 144� � � � �.�b�i�n�d�(�{� 145� � � � � �'�f�o�c�u�s�.�p�l�a�c�e�h�o�l�d�e�r�'�:� �c�l�e�a�r�P�l�a�c�e�h�o�l�d�e�r�,� 146� � � � � �'�b�l�u�r�.�p�l�a�c�e�h�o�l�d�e�r�'�:� �s�e�t�P�l�a�c�e�h�o�l�d�e�r� 147� � � � �}�)� 148� � � � �.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�e�n�a�b�l�e�d�'�,� �t�r�u�e�)� 149� � � � �.�t�r�i�g�g�e�r�(�'�b�l�u�r�.�p�l�a�c�e�h�o�l�d�e�r�'�)�;� 150� � � �r�e�t�u�r�n� �$�t�h�i�s�;� 151� � �}�;� 152� 153� � �p�l�a�c�e�h�o�l�d�e�r�.�i�n�p�u�t� �=� �i�s�I�n�p�u�t�S�u�p�p�o�r�t�e�d�;�
154� � �p�l�a�c�e�h�o�l�d�e�r�.�t�e�x�t�a�r�e�a� �=� �i�s�T�e�x�t�a�r�e�a�S�u�p�p�o�r�t�e�d�;� 155� 156� � �h�o�o�k�s� �=� �{� 157� � � �'�g�e�t�'�:� �f�u�n�c�t�i�o�n�(�e�l�e�m�e�n�t�)� �{� 158� � � � �v�a�r� �$�e�l�e�m�e�n�t� �=� �$�(�e�l�e�m�e�n�t�)�;� 159� 160� � � � �v�a�r� �$�p�a�s�s�w�o�r�d�I�n�p�u�t� �=� �$�e�l�e�m�e�n�t�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�p�a�s�s�w�o�r�d�'�)�;� 161� � � � �i�f� �(�$�p�a�s�s�w�o�r�d�I�n�p�u�t�)� �{� 162� � � � � �r�e�t�u�r�n� �$�p�a�s�s�w�o�r�d�I�n�p�u�t�[�0�]�.�v�a�l�u�e�;� 163� � � � �}� 164� 165� � � � �r�e�t�u�r�n� �$�e�l�e�m�e�n�t�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�e�n�a�b�l�e�d�'�)� �&�&� �$�e�l�e�m�e�n�t�.�h�a�s�C�l�a�s�s�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)� �?� �'�'� �:� �e�l�e�m�e�n�t�.�v�a�l�u�e�;� 166� � � �}�,� 167� � � �'�s�e�t�'�:� �f�u�n�c�t�i�o�n�(�e�l�e�m�e�n�t�,� �v�a�l�u�e�)� �{� 168� � � � �v�a�r� �$�e�l�e�m�e�n�t� �=� �$�(�e�l�e�m�e�n�t�)�;� 169� 170� � � � �v�a�r� �$�p�a�s�s�w�o�r�d�I�n�p�u�t� �=� �$�e�l�e�m�e�n�t�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�p�a�s�s�w�o�r�d�'�)�;� 171� � � � �i�f� �(�$�p�a�s�s�w�o�r�d�I�n�p�u�t�)� �{� 172� � � � � �r�e�t�u�r�n� �$�p�a�s�s�w�o�r�d�I�n�p�u�t�[�0�]�.�v�a�l�u�e� �=� �v�a�l�u�e�;� 173� � � � �}� 174� 175� � � � �i�f� �(�!�$�e�l�e�m�e�n�t�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�e�n�a�b�l�e�d�'�)�)� �{� 176� � � � � �r�e�t�u�r�n� �e�l�e�m�e�n�t�.�v�a�l�u�e� �=� �v�a�l�u�e�;� 177� � � � �}� 178� � � � �i�f� �(�v�a�l�u�e� �=�=� �'�'�)� �{� 179� � � � � �e�l�e�m�e�n�t�.�v�a�l�u�e� �=� �v�a�l�u�e�;� 180� � � � � �/�/� �I�s�s�u�e� �#�5�6�:� �S�e�t�t�i�n�g� �t�h�e� �p�l�a�c�e�h�o�l�d�e�r� �c�a�u�s�e�s� �p�r�o�b�l�e�m�s� �i�f� �t�h�e� �e�l�e�m�e�n�t� �c�o�n�t�i�n�u�e�s� �t�o� �h�a�v�e� �f�o�c�u�s�.� 181� � � � � �i�f� �(�e�l�e�m�e�n�t� �!�=� �d�o�c�u�m�e�n�t�.�a�c�t�i�v�e�E�l�e�m�e�n�t�)� �{� 182� � � � � � �/�/� �W�e� �c�a�n�'�t� �u�s�e� �`�t�r�i�g�g�e�r�H�a�n�d�l�e�r�`� �h�e�r�e� �b�e�c�a�u�s�e� �o�f� �d�u�m�m�y� �t�e�x�t�/�p�a�s�s�w�o�r�d� �i�n�p�u�t�s� �:�(� 183� � � � � � �s�e�t�P�l�a�c�e�h�o�l�d�e�r�.�c�a�l�l�(�e�l�e�m�e�n�t�)�;� 184� � � � � �}� 185� � � � �}� �e�l�s�e� �i�f� �(�$�e�l�e�m�e�n�t�.�h�a�s�C�l�a�s�s�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)�)� �{� 186� � � � � �c�l�e�a�r�P�l�a�c�e�h�o�l�d�e�r�.�c�a�l�l�(�e�l�e�m�e�n�t�,� �t�r�u�e�,� �v�a�l�u�e�)� �|�|� �(�e�l�e�m�e�n�t�.�v�a�l�u�e� �=� �v�a�l�u�e�)�;� 187� � � � �}� �e�l�s�e� �{� 188� � � � � �e�l�e�m�e�n�t�.�v�a�l�u�e� �=� �v�a�l�u�e�;� 189� � � � �}� 190� � � � �/�/� �`�s�e�t�`� �c�a�n� �n�o�t� �r�e�t�u�r�n� �`�u�n�d�e�f�i�n�e�d�`�;� �s�e�e� �h�t�t�p�:�/�/�j�s�a�p�i�.�i�n�f�o�/�j�q�u�e�r�y�/�1�.�7�.�1�/�v�a�l�#�L�2�3�6�3� 191� � � � �r�e�t�u�r�n� �$�e�l�e�m�e�n�t�;� 192� � � �}� 193� � �}�;� 194� 195� � �i�f� �(�!�i�s�I�n�p�u�t�S�u�p�p�o�r�t�e�d�)� �{� 196� � � �v�a�l�H�o�o�k�s�.�i�n�p�u�t� �=� �h�o�o�k�s�;� 197� � � �p�r�o�p�H�o�o�k�s�.�v�a�l�u�e� �=� �h�o�o�k�s�;� 198� � �}� 199� � �i�f� �(�!�i�s�T�e�x�t�a�r�e�a�S�u�p�p�o�r�t�e�d�)� �{� 200� � � �v�a�l�H�o�o�k�s�.�t�e�x�t�a�r�e�a� �=� �h�o�o�k�s�;� 201� � � �p�r�o�p�H�o�o�k�s�.�v�a�l�u�e� �=� �h�o�o�k�s�;� 202� � �}� 203� 204� � �$�(�f�u�n�c�t�i�o�n�(�)� �{� 205� � � �/�/� �L�o�o�k� �f�o�r� �f�o�r�m�s� 206� � � �$�(�d�o�c�u�m�e�n�t�)�.�d�e�l�e�g�a�t�e�(�'�f�o�r�m�'�,� �'�s�u�b�m�i�t�.�p�l�a�c�e�h�o�l�d�e�r�'�,� �f�u�n�c�t�i�o�n�(�)� �{� 207� � � � �/�/� �C�l�e�a�r� �t�h�e� �p�l�a�c�e�h�o�l�d�e�r� �v�a�l�u�e�s� �s�o� �t�h�e�y� �d�o�n�'�t� �g�e�t� �s�u�b�m�i�t�t�e�d� 208� � � � �v�a�r� �$�i�n�p�u�t�s� �=� �$�(�'�.�p�l�a�c�e�h�o�l�d�e�r�'�,� �t�h�i�s�)�.�e�a�c�h�(�c�l�e�a�r�P�l�a�c�e�h�o�l�d�e�r�)�;� 209� � � � �s�e�t�T�i�m�e�o�u�t�(�f�u�n�c�t�i�o�n�(�)� �{� 210� � � � � �$�i�n�p�u�t�s�.�e�a�c�h�(�s�e�t�P�l�a�c�e�h�o�l�d�e�r�)�;� 211� � � � �}�,� �1�0�)�;� 212� � � �}�)�;� 213� � �}�)�;� 214� 215� � �/�/� �C�l�e�a�r� �p�l�a�c�e�h�o�l�d�e�r� �v�a�l�u�e�s� �u�p�o�n� �p�a�g�e� �r�e�l�o�a�d� 216� � �$�(�w�i�n�d�o�w�)�.�b�i�n�d�(�'�b�e�f�o�r�e�u�n�l�o�a�d�.�p�l�a�c�e�h�o�l�d�e�r�'�,� �f�u�n�c�t�i�o�n�(�)� �{� 217� � � �$�(�'�.�p�l�a�c�e�h�o�l�d�e�r�'�)�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)� �{� 218� � � � �t�h�i�s�.�v�a�l�u�e� �=� �'�'�;� 219� � � �}�)�;� 220� � �}�)�;� 221� 222� �}� 223� 224� �f�u�n�c�t�i�o�n� �a�r�g�s�(�e�l�e�m�)� �{� 225� � �/�/� �R�e�t�u�r�n� �a�n� �o�b�j�e�c�t� �o�f� �e�l�e�m�e�n�t� �a�t�t�r�i�b�u�t�e�s� 226� � �v�a�r� �n�e�w�A�t�t�r�s� �=� �{�}�;� 227� � �v�a�r� �r�i�n�l�i�n�e�j�Q�u�e�r�y� �=� �/�^�j�Q�u�e�r�y�\�d�+�$�/�;� 228� � �$�.�e�a�c�h�(�e�l�e�m�.�a�t�t�r�i�b�u�t�e�s�,� �f�u�n�c�t�i�o�n�(�i�,� �a�t�t�r�)� �{� 229� � � �i�f� �(�a�t�t�r�.�s�p�e�c�i�f�i�e�d� �&�&� �!�r�i�n�l�i�n�e�j�Q�u�e�r�y�.�t�e�s�t�(�a�t�t�r�.�n�a�m�e�)�)� �{� 230� � � � �n�e�w�A�t�t�r�s�[�a�t�t�r�.�n�a�m�e�]� �=� �a�t�t�r�.�v�a�l�u�e�;� 231� � � �}� 232� � �}�)�;� 233� � �r�e�t�u�r�n� �n�e�w�A�t�t�r�s�;� 234� �}� 235� 236� �f�u�n�c�t�i�o�n� �c�l�e�a�r�P�l�a�c�e�h�o�l�d�e�r�(�e�v�e�n�t�,� �v�a�l�u�e�)� �{� 237� � �v�a�r� �i�n�p�u�t� �=� �t�h�i�s�;� 238� � �v�a�r� �$�i�n�p�u�t� �=� �$�(�i�n�p�u�t�)�;� 239� � �i�f� �(�i�n�p�u�t�.�v�a�l�u�e� �=�=� �$�i�n�p�u�t�.�a�t�t�r�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)� �&�&� �$�i�n�p�u�t�.�h�a�s�C�l�a�s�s�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)�)� �{� 240� � � �i�f� �(�$�i�n�p�u�t�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�p�a�s�s�w�o�r�d�'�)�)� �{� 241� � � � �$�i�n�p�u�t� �=� �$�i�n�p�u�t�.�h�i�d�e�(�)�.�n�e�x�t�(�)�.�s�h�o�w�(�)�.�a�t�t�r�(�'�i�d�'�,� �$�i�n�p�u�t�.�r�e�m�o�v�e�A�t�t�r�(�'�i�d�'�)�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�i�d�'�)�)�;� 242� � � � �/�/� �I�f� �`�c�l�e�a�r�P�l�a�c�e�h�o�l�d�e�r�`� �w�a�s� �c�a�l�l�e�d� �f�r�o�m� �`�$�.�v�a�l�H�o�o�k�s�.�i�n�p�u�t�.�s�e�t�`� 243� � � � �i�f� �(�e�v�e�n�t� �=�=�=� �t�r�u�e�)� �{� 244� � � � � �r�e�t�u�r�n� �$�i�n�p�u�t�[�0�]�.�v�a�l�u�e� �=� �v�a�l�u�e�;� 245� � � � �}� 246� � � � �$�i�n�p�u�t�.�f�o�c�u�s�(�)�;� 247� � � �}� �e�l�s�e� �{� 248� � � � �i�n�p�u�t�.�v�a�l�u�e� �=� �'�'�;� 249� � � � �$�i�n�p�u�t�.�r�e�m�o�v�e�C�l�a�s�s�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)�;� 250� � � � �i�n�p�u�t� �=�=� �d�o�c�u�m�e�n�t�.�a�c�t�i�v�e�E�l�e�m�e�n�t� �&�&� �i�n�p�u�t�.�s�e�l�e�c�t�(�)�;� 251� � � �}� 252� � �}� 253� �}� 254� 255� �f�u�n�c�t�i�o�n� �s�e�t�P�l�a�c�e�h�o�l�d�e�r�(�)� �{� 256� � �v�a�r� �$�r�e�p�l�a�c�e�m�e�n�t�;� 257� � �v�a�r� �i�n�p�u�t� �=� �t�h�i�s�;� 258� � �v�a�r� �$�i�n�p�u�t� �=� �$�(�i�n�p�u�t�)�;� 259� � �v�a�r� �i�d� �=� �t�h�i�s�.�i�d�;� 260� � �i�f� �(�i�n�p�u�t�.�v�a�l�u�e� �=�=� �'�'�)� �{� 261� � � �i�f� �(�i�n�p�u�t�.�t�y�p�e� �=�=� �'�p�a�s�s�w�o�r�d�'�)� �{� 262� � � � �i�f� �(�!�$�i�n�p�u�t�.�d�a�t�a�(�'�p�l�a�c�e�h�o�l�d�e�r�-�t�e�x�t�i�n�p�u�t�'�)�)� �{� 263� � � � � �t�r�y� �{� 264� � � � � � �$�r�e�p�l�a�c�e�m�e�n�t� �=� �$�i�n�p�u�t�.�c�l�o�n�e�(�)�.�a�t�t�r�(�{� �'�t�y�p�e�'�:� �'�t�e�x�t�'� �}�)�;� 265� � � � � �}� �c�a�t�c�h�(�e�)� �{� 266� � � � � � �$�r�e�p�l�a�c�e�m�e�n�t� �=� �$�(�'�<�i�n�p�u�t�>�'�)�.�a�t�t�r�(�$�.�e�x�t�e�n�d�(�a�r�g�s�(�t�h�i�s�)�,� �{� �'�t�y�p�e�'�:� �'�t�e�x�t�'� �}�)�)�;� 267� � � � � �}� 268� � � � � �$�r�e�p�l�a�c�e�m�e�n�t� 269� � � � � � �.�r�e�m�o�v�e�A�t�t�r�(�'�n�a�m�e�'�)� 270� � � � � � �.�d�a�t�a�(�{� 271� � � � � � � �'�p�l�a�c�e�h�o�l�d�e�r�-�p�a�s�s�w�o�r�d�'�:� �$�i�n�p�u�t�,� 272� � � � � � � �'�p�l�a�c�e�h�o�l�d�e�r�-�i�d�'�:� �i�d� 273� � � � � � �}�)� 274� � � � � � �.�b�i�n�d�(�'�f�o�c�u�s�.�p�l�a�c�e�h�o�l�d�e�r�'�,� �c�l�e�a�r�P�l�a�c�e�h�o�l�d�e�r�)�;� 275� � � � � �$�i�n�p�u�t� 276� � � � � � �.�d�a�t�a�(�{� 277� � � � � � � �'�p�l�a�c�e�h�o�l�d�e�r�-�t�e�x�t�i�n�p�u�t�'�:� �$�r�e�p�l�a�c�e�m�e�n�t�,� 278� � � � � � � �'�p�l�a�c�e�h�o�l�d�e�r�-�i�d�'�:� �i�d� 279� � � � � � �}�)� 280� � � � � � �.�b�e�f�o�r�e�(�$�r�e�p�l�a�c�e�m�e�n�t�)�;� 281� � � � �}� 282� � � � �$�i�n�p�u�t� �=� �$�i�n�p�u�t�.�r�e�m�o�v�e�A�t�t�r�(�'�i�d�'�)�.�h�i�d�e�(�)�.�p�r�e�v�(�)�.�a�t�t�r�(�'�i�d�'�,� �i�d�)�.�s�h�o�w�(�)�;� 283� � � � �/�/� �N�o�t�e�:� �`�$�i�n�p�u�t�[�0�]� �!�=� �i�n�p�u�t�`� �n�o�w�!� 284� � � �}� 285� � � �$�i�n�p�u�t�.�a�d�d�C�l�a�s�s�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)�;� 286� � � �$�i�n�p�u�t�[�0�]�.�v�a�l�u�e� �=� �$�i�n�p�u�t�.�a�t�t�r�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)�;� 287� � �}� �e�l�s�e� �{� 288� � � �$�i�n�p�u�t�.�r�e�m�o�v�e�C�l�a�s�s�(�'�p�l�a�c�e�h�o�l�d�e�r�'�)�;� 289� � �}� 290� �}� 291� 292�}�(�t�h�i�s�,� �d�o�c�u�m�e�n�t�,� �j�Q�u�e�r�y�)�)�;� 293�$�(�f�u�n�c�t�i�o�n�(�)� �{� 294�/�/� �I�n�v�o�k�e� �t�h�e� �p�l�u�g�i�n� 295�$�(�'�i�n�p�u�t�,� �t�e�x�t�a�r�e�a�'�)�.�p�l�a�c�e�h�o�l�d�e�r�(�)�;� 296�}�)�;� 297� 298� 299�/�*�*� �=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� 300�S�p�l�i�t� �L�i�s�t�s� 301�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=� �*�*�/� 302� 303�$�(�f�u�n�c�t�i�o�n�(�$�)� �{� 304� � � � �v�a�r� �n�u�m�_�c�o�l�s� �=� �2�,� 305� � � � �c�o�n�t�a�i�n�e�r� �=� �$�(�'�.�s�p�l�i�t�-�l�i�s�t�'�)�,� 306� � � � �l�i�s�t�I�t�e�m� �=� �'�l�i�'�,� 307� � � � �l�i�s�t�C�l�a�s�s� �=� �'�s�u�b�-�l�i�s�t�'�;� 308� � � � �c�o�n�t�a�i�n�e�r�.�e�a�c�h�(�f�u�n�c�t�i�o�n�(�)� �{� 309� � � � � � � � �v�a�r� �i�t�e�m�s�_�p�e�r�_�c�o�l� �=� �n�e�w� �A�r�r�a�y�(�)�,� 310� � � � � � � � �i�t�e�m�s� �=� �$�(�t�h�i�s�)�.�f�i�n�d�(�l�i�s�t�I�t�e�m�)�,� 311� � � � � � � � �m�i�n�_�i�t�e�m�s�_�p�e�r�_�c�o�l� �=� �M�a�t�h�.�f�l�o�o�r�(�i�t�e�m�s�.�l�e�n�g�t�h� �/� �n�u�m�_�c�o�l�s�)�,� 312� � � � � � � � �d�i�f�f�e�r�e�n�c�e� �=� �i�t�e�m�s�.�l�e�n�g�t�h� �-� �(�m�i�n�_�i�t�e�m�s�_�p�e�r�_�c�o�l� �*� �n�u�m�_�c�o�l�s�)�;� 313� � � � � � � � �f�o�r� �(�v�a�r� �i� �=� �0�;� �i� �<� �n�u�m�_�c�o�l�s�;� �i�+�+�)� �{� 314� � � � � � � � � � � � �i�f� �(�i� �<� �d�i�f�f�e�r�e�n�c�e�)� �{� 315� � � � � � � � � � � � � � � � �i�t�e�m�s�_�p�e�r�_�c�o�l�[�i�]� �=� �m�i�n�_�i�t�e�m�s�_�p�e�r�_�c�o�l� �+� �1�;� 316� � � � � � � � � � � � �}� �e�l�s�e� �{� 317� � � � � � � � � � � � � � � � �i�t�e�m�s�_�p�e�r�_�c�o�l�[�i�]� �=� �m�i�n�_�i�t�e�m�s�_�p�e�r�_�c�o�l�;� 318� � � � � � � � � � � � �}� 319� � � � � � � � �}� 320� � � � � � � � �f�o�r� �(�v�a�r� �i� �=� �0�;� �i� �<� �n�u�m�_�c�o�l�s�;� �i�+�+�)� �{� 321� � � � � � � � � � � � �$�(�t�h�i�s�)�.�a�p�p�e�n�d�(�$�(�'�<�u�l� �>�<�/�u�l�>�'�)�.�a�d�d�C�l�a�s�s�(�l�i�s�t�C�l�a�s�s�)�)�;� 322� � � � � � � � � � � � �f�o�r� �(�v�a�r� �j� �=� �0�;� �j� �<� �i�t�e�m�s�_�p�e�r�_�c�o�l�[�i�]�;� �j�+�+�)� �{� 323� � � � � � � � � � � � � � � � �v�a�r� �p�o�i�n�t�e�r� �=� �0�;� 324� � � � � � � � � � � � � � � � �f�o�r� �(�v�a�r� �k� �=� �0�;� �k� �<� �i�;� �k�+�+�)� �{� 325� � � � � � � � � � � � � � � � � � � � �p�o�i�n�t�e�r� �+�=� �i�t�e�m�s�_�p�e�r�_�c�o�l�[�k�]�;� 326� � � � � � � � � � � � � � � � �}� 327� � � � � � � � � � � � � � � � �$�(�t�h�i�s�)�.�f�i�n�d�(�'�.�'� �+� �l�i�s�t�C�l�a�s�s�)�.�l�a�s�t�(�)�.�a�p�p�e�n�d�(�i�t�e�m�s�[�j� �+� �p�o�i�n�t�e�r�]�)�;� 328� � � � � � � � � � � � �}� 329� � � � � � � � �}� 330� � � � �}�)�;� 331�}�)�;� 332�ÿþ 333� 334�}� 335�/�*� 336� � � � � �F�I�L�E� �A�R�C�H�I�V�E�D� �O�N� �ÿþ0�9�:�2�9�:�3�0� �A�u�g� �0�8�,� �2�0�1�8�ÿþ �A�N�D� �R�E�T�R�I�E�V�E�D� �F�R�O�M� �T�H�E� 337� � � � � �I�N�T�E�R�N�E�T� �A�R�C�H�I�V�E� �O�N� �ÿþ0�5�:�5�4�:�3�7� �M�a�y� �1�3�,� �2�0�2�5�ÿþ.� 338� � � � � �J�A�V�A�S�C�R�I�P�T� �A�P�P�E�N�D�E�D� �B�Y� �W�A�Y�B�A�C�K� �M�A�C�H�I�N�E�,� �C�O�P�Y�R�I�G�H�T� �I�N�T�E�R�N�E�T� �A�R�C�H�I�V�E�.� 339� 340� � � � � �A�L�L� �O�T�H�E�R� �C�O�N�T�E�N�T� �M�A�Y� �A�L�S�O� �B�E� �P�R�O�T�E�C�T�E�D� �B�Y� �C�O�P�Y�R�I�G�H�T� �(�1�7� �U�.�S�.�C�.� 341� � � � � �S�E�C�T�I�O�N� �1�0�8�(�a�)�(�3�)�)�.� 342�*�/� 343�/�*� 344�ÿþp�l�a�y�b�a�c�k� �t�i�m�i�n�g�s� �(�m�s�)�:� 345�ÿþ � �ÿþc�a�p�t�u�r�e�s�_�l�i�s�t�ÿþ:� �ÿþ0�.�4�9�5�ÿþ 346�ÿþ � �ÿþe�x�c�l�u�s�i�o�n�.�r�o�b�o�t�s�ÿþ:� �ÿþ0�.�0�2�1�ÿþ 347�ÿþ � �ÿþe�x�c�l�u�s�i�o�n�.�r�o�b�o�t�s�.�p�o�l�i�c�y�ÿþ:� �ÿþ0�.�0�0�9�ÿþ 348�ÿþ � �ÿþe�s�i�n�d�e�x�ÿþ:� �ÿþ0�.�0�1�ÿþ 349�ÿþ � �ÿþc�d�x�.�r�e�m�o�t�e�ÿþ:� �ÿþ3�6�.�5�2�8�ÿþ 350�ÿþ � �ÿþL�o�a�d�S�h�a�r�d�B�l�o�c�k�ÿþ:� �ÿþ2�0�9�.�9�9�9�ÿþ �(�ÿþ3�ÿþ)� 351�ÿþ � �ÿþP�e�t�a�b�o�x�L�o�a�d�e�r�3�.�d�a�t�a�n�o�d�e�ÿþ:� �ÿþ2�2�8�.�1�6�8�ÿþ �(�ÿþ5�ÿþ)� 352�ÿþ � �ÿþl�o�a�d�_�r�e�s�o�u�r�c�e�ÿþ:� �ÿþ6�4�6�.�1�4�9�ÿþ �(�ÿþ2�ÿþ)� 353�ÿþ � �ÿþP�e�t�a�b�o�x�L�o�a�d�e�r�3�.�r�e�s�o�l�v�e�ÿþ:� �ÿþ4�5�5�.�0�7�7�ÿþ �(�ÿþ2�ÿþ)� 354�ÿþ*�/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.