Admin Panel
����; � TeX output 2005.12.06:1546� ������� ���3*����鍑G�F��N� �j cmbx12�FGNU�ƧHistory�Library��G�0� �������� ���2K�`y
�3
cmr10�Edition��f5.1-b�M�eta1,�for��3��<x
�3
cmtt10�History�Library��V��eersion�5.1-b�eta1.��
��g�0No��!v�em�b�M�er��f2005����q��X��N� ff cmbx12�XChet�ffRamey���f,�Case�W�estern�Reserv���e�Univ�ersit�y�� �Brian�ffF���fo���x,�F�ree�Soft���w�are�ffF�oundation���̉ ������ *��� ���3*���� ��G�This��Edo�M�cumen��!t�describ�es�the�GNU��<History�library�(v��!ersion�5.1-b�eta1,��|11�No��!v�em�b�er��E2005),��
33��Ga� 8programming�to�M�ol�that�pro��!vides�a�consisten�t�user�in�terface�for�recalling�lines�of�previously����Gt��!yp�M�ed��finput.��33��GCop��!yrigh�t���������c��������f�;!",�
�3
cmsy10�
�����@�1988-2004��fF��eree�Soft��!w�are��fF�oundation,�Inc.����GP��!ermission�is�gran�ted�to�mak�e�and�distribute�v�erbatim�copies�of�this�man�ual�pro�vided�the��
33��Gcop��!yrigh�t��fnotice�and�this�p�M�ermission�notice�are�preserv��!ed�on�all�copies.����.��P��!ermission�:�is�gran�ted�to�cop�y��e,�_�distribute�and/or�mo�M�dify�this�do�cumen��!t�under����.��the���terms�of�the�GNU��JF��eree�Do�M�cumen��!tation�License,���V�ersion�1.1�or�an��!y�later����.��v��!ersion�I�published�b�y�the�F��eree�Soft�w�are�F��eoundation;�h�with�no�In�v��dDarian�t�Sections,����.��with���the�F��eron��!t-Co�v�er���texts�b�M�eing�\A���GNU�Man��!ual,"��and���with�the�Bac�k-Co�v�er����.��T��eexts��Was�in�(a)�b�M�elo��!w.���A��Gcop�y��Wof�the�license�is�included�in�the�section�en��!titled����.��\GNU��fF��eree�Do�M�cumen��!tation�License."����.��(a)��XThe�FSF's�Bac��!k-Co�v�er��XT��eext�is:���\Y�ou�ha��!v�e��Xfreedom�to�cop��!y�and�mo�M�dify����.��this��GNU��wMan��!ual,��Qlik�e�GNU��wsoft�w�are.��DCopies�published�b�y�the�F��eree�Soft�w�are����.��F��eoundation��fraise�funds�for�GNU�dev��!elopmen�t."��ff��GPublished��fb��!y�the�F��eree�Soft�w�are�F��eoundation����G59��fT��eemple�Place,�Suite�330,����GBoston,��fMA�02111-1307����GUSA��������� � �����T�i�����3*�����֍��G�O��N� G� cmbx12�OT��aGable�z�of�Con��u�ten�ts���)33��G�X1�32Using�ffHistory�In���teractiv�ely�%��32�YF
C� ff
cmbxti10�Y.�����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.��
��X1�����6G�1.1�
�5History��fExpansion�*��� ��5� ':
�3
cmti10�.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.�����1��
33��ZG1.1.1�
�5Ev��!en�t��fDesignators��a�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
���1����ZG1.1.2�
�5W��eord��fDesignators�%5�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���e�1����ZG1.1.3�
�5Mo�M�diers��� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���;�2��33��G�X2�32Programming�ffwith�GNU�History��m��32�Y.�����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.�����X5����6G�2.1�
�5In��!tro�M�duction��fto�History�Z6�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
/f�5����6G2.2�
�5History��fStorage���� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
�N�5����6G2.3�
�5History��fF��eunctions��ڍ� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
�
�6����ZG2.3.1�
�5Initializing��fHistory�and�State�Managemen��!t����� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.��_��6����ZG2.3.2�
�5History��fList�Managemen��!t�}x�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��R��6����ZG2.3.3�
�5Information��fAb�M�out�the�History�List��Ӎ� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
��7����ZG2.3.4�
�5Mo��!ving��fAround�the�History�List��A�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
nq�7����ZG2.3.5�
�5Searc��!hing��fthe�History�List� �O�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.�� ���8����ZG2.3.6�
�5Managing��fthe�History�File�d0�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.�� 9`�8����ZG2.3.7�
�5History��fExpansion�;,�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��
]�9����6G2.4�
�5History��fV��eariables�a�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.�� 6H�10����6G2.5�
�5History��fProgramming�Example� ��� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.�� u6�11��33���G�XApp�s3endix�ffA��t�rCop���ying�ffThis�Man�ual�J���32�Y.�����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.��6�X13����6G�A.1�
�5GNU��fF��eree�Do�M�cumen��!tation�License�=�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��B�13����ZGA.1.1�
�5ADDENDUM:��fHo��!w�to�use�this�License�for�y�our����o��do�M�cumen��!ts�^|�� ��.��.ԍ� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.���� �.��3��19��33���G�XApp�s3endix�ffB��t�rConcept�ffIndex� ���32�Y.�����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.����32.��
���X21�� ����GApp�s3endix�ffC��t�rF���function�ffand�V�ariable�Index�Y���32�Y.�����32.����32.����32.����32.��
E1�X23�������� ���� ���G�ii�D5GNU��fHistory�Library�����3*�� ҍ�� ���G�Chapter��f1:���Using�History�In��!teractiv�ely� �c�1�����3*�����֍��G�O1� �QUsing�z�History�In��u�teractiv�ely����͍�!G�This���c��!hapter�describ�M�es�ho�w�to�use�the��8�-�
�3
cmcsc10�gnu��History�Library�in�teractiv�ely��e,��from�a�user's��
33��Gstandp�M�oin��!t.� �It�pshould�b�e�considered�a�user's�guide.� �F��eor�information�on�using�the��gnu����G�History�5�Library�in�y��!our�o�wn�programs,�Y�see�Chapter�2�[Programming�with�GNU�5�History],����Gpage��f5.��!認��G�X1.1��History�f@Expansion����D��!G�The�H�History�library�pro��!vides�a�history�expansion�feature�that�is�similar�to�the�history����Gexpansion���pro��!vided�b�y��csh�.���This�section�describ�M�es�the�syn�tax�used�to�manipulate�the�history����Ginformation.��]��!GHistory��3expansions�in��!tro�M�duce�w�ords�from�the�history�list�in�to�the�input�stream,���making����Git��deasy�to�rep�M�eat�commands,�insert�the�argumen��!ts�to�a�previous�command�in�to�the�curren�t����Ginput��fline,�or�x�errors�in�previous�commands�quic��!kly��e.����!GHistory�g
expansion�tak��!es�place�in�t�w�o�parts.��The�rst�is�to�determine�whic�h�line�from����Gthe���history�list�should�b�M�e�used�during�substitution.�џThe�second�is�to�select�p�ortions�of����Gthat��line�for�inclusion�in��!to�the�curren�t�one.��The�line�selected�from�the�history�is�called�the����G�6p�0J
�3
cmsl10�ev��!en�t�,�W�and�DSthe�p�M�ortions�of�that�line�that�are�acted�up�on�are�called��w��!ords�.��,V��earious��mo�diers����G�are��-a��!v��dDailable�to�manipulate�the�selected�w�ords.��2The�line�is�brok�en�in�to�w�ords�in�the�same����Gfashion���that�Bash�do�M�es,��so�that�sev��!eral�w�ords�surrounded�b�y�quotes�are�considered�one�w�ord.����GHistory�k�expansions�are�in��!tro�M�duced�b�y�the�app�M�earance�of�the�history�expansion�c�haracter,����Gwhic��!h��fis�`�!�'�b�y�default.��S����G�a��N�
#� cmbx12�a1.1.1�d(Ev���en�t��MDesignators����D��!G�An��fev��!en�t�designator�is�a�reference�to�a�command�line�en�try�in�the�history�list.��� ��G�!�4I�Start��a�history�substitution,�Sexcept�when�follo��!w�ed��b�y�a�space,�Stab,�the�end�of����K�:the��fline,�or�`�=�'.��]��G�!�9��<x
�3
cmsltt10�n�.Q��Refer��fto�command�line��n�.����G�!-�n�(���Refer��fto�the�command��n��lines�bac��!k.����G�!!�.Q��Refer��fto�the�previous�command.���This�is�a�synon��!ym�for�`�!-1�'.����G�!�string��M�Refer��fto�the�most�recen��!t�command�starting�with��string�.����G�!?�string�Ds�[?]��
33��K�:�Refer��to�the�most�recen��!t�command�con�taining��string�.���The�trailing�`�?�'�ma�y�b�M�e����K�:omitted��fif�the��string��~�is�follo��!w�ed��fimmediately�b��!y�a�newline.��]��G�^�string1�Ds�^�string2��^����K�:�Quic��!k��HSubstitution.�[�Rep�M�eat�the�last�command,���replacing��string1����with��string2�.����K�:Equiv��dDalen��!t��fto��!!:s/�string1�Ds�/�string2��/�.����G�!#�.Q��The��fen��!tire�command�line�t�yp�M�ed�so�far.���� !1��� ���G�2�D��GNU��fHistory�Library�����3*�����֍��G�a1.1.2�d(W��ģord��MDesignators���Jy��!G�W��eord�*7designators�are�used�to�select�desired�w��!ords�from�the�ev�en�t.�iQA�*`�:�'�separates�the��
33��Gev��!en�t��Osp�M�ecication�from�the�w��!ord�designator.�.�It�ma�y�b�M�e�omitted�if�the�w�ord�designator����Gb�M�egins�with�a�`�^�',�4�`�$�',�`�*�',�`�-�',�or�`�%�'.�2�W��eords�are�n��!um�b�ered�from�the�b�eginning�of�the�line,����Gwith��Kthe�rst�w��!ord�b�M�eing�denoted�b�y�0�(zero).�4�W��eords�are�inserted�in�to�the�curren�t�line����Gseparated��fb��!y�single�spaces.��F��!GF��eor��fexample,���Y��G�!!�.Q��designates�P;the�preceding�command.��\When�y��!ou�t�yp�M�e�this,�z�the�preceding�com-����K�:mand��fis�rep�M�eated�in�toto.����G�!!:$�"�K�designates��_the�last�argumen��!t�of�the�preceding�command.���This�ma�y�b�M�e�shortened����K�:to��f�!$�.����G�!fi:2���designates���the�second�argumen��!t�of�the�most�recen�t�command�starting�with�the����K�:letters��f�fi�.����!GHere��fare�the�w��!ord�designators:����G�0��f(zero)�
���The��0�th�w��!ord.���F��eor�man�y�applications,�this�is�the�command�w�ord.����G�n�4I�The��f�n�th�w��!ord.����G�^�4I�The��frst�argumen��!t;�that�is,�w�ord�1.����G�$�4I�The��flast�argumen��!t.����G�%�4I�The��fw��!ord�matc�hed�b�y�the�most�recen�t�`�?�string�Ds�?�'�searc�h.����G�x�-�y�(���A��frange�of�w��!ords;�`�-�y�Ds�'�abbreviates�`�0-�y��'.����G�*�4I�All�R�of�the�w��!ords,�c�except�the��0�th.��
This�is�a�synon�ym�for�`�1-$�'.��
It�is�not�an�error����K�:to���use�`�*�'�if�there�is�just�one�w��!ord�in�the�ev�en�t;��2the�empt�y�string�is�returned�in����K�:that��fcase.����G�x�Ds�*�-
,�Abbreviates��f`�x�-$�'����G�x�-�.Q��Abbreviates��f`�x�-$�'�lik��!e�`�x�Ds�*�',�but�omits�the�last�w�ord.����!GIf�[a�w��!ord�designator�is�supplied�without�an�ev�en�t�sp�M�ecication,�-Xthe�previous�command����Gis��fused�as�the�ev��!en�t.���8���G�a1.1.3�d(Mo�idiers���Jy��!G�After�{�the�optional�w��!ord�designator,��iy�ou�can�add�a�sequence�of�one�or�more�of�the�follo�wing����Gmo�M�diers,��feac��!h�preceded�b�y�a�`�:�'.����G�h�4I�Remo��!v�e��fa�trailing�pathname�comp�M�onen��!t,�lea�ving�only�the�head.����G�t�4I�Remo��!v�e��fall�leading�pathname�comp�M�onen��!ts,�lea�ving�the�tail.����G�r�4I�Remo��!v�e��fa�trailing�sux�of�the�form�`�.�suffix�Ds�',�lea��!ving�the�basename.����G�e�4I�Remo��!v�e��fall�but�the�trailing�sux.����G�p�4I�Prin��!t��fthe�new�command�but�do�not�execute�it.���� -��� ���G�Chapter��f1:���Using�History�In��!teractiv�ely� �c�3�����3*�����֍�G�s/�old�Ds�/�new��/��
33��K�:�Substitute���new�ڗ�for�the�rst�o�M�ccurrence�of��old�X��in�the�ev��!en�t��line.��'An�y�delimiter����K�:ma��!y���b�M�e�used�in�place�of�`�/�'.��^The�delimiter�ma�y�b�M�e�quoted�in��old�h:�and��new�� �with�a����K�:single�`�bac��!kslash.�ƖIf�`�&�'�app�M�ears�in��new�,�n�it�is�replaced�b�y��old�.�ƖA�`single�bac�kslash����K�:will�)�quote�the�`�&�'.�h}The�nal�delimiter�is�optional�if�it�is�the�last�c��!haracter�on����K�:the��finput�line.��33��G�&�4I�Rep�M�eat��fthe�previous�substitution.����G�g��
33��Ga�4I�Cause���c��!hanges�to�b�M�e�applied�o�v�er�the�en�tire�ev�en�t�line.�صUsed�in�conjunction����K�:with��f`�s�',�as�in��gs/�old�Ds�/�new��/�,��for�with�`�&�'.��33��G�G�4I�Apply��fthe�follo��!wing�`�s�'�mo�M�dier�once�to�eac�h�w�ord�in�the�ev�en�t.���� 7P��� ���G�4�D��GNU��fHistory�Library�����3*�� ;��� ���G�Chapter��f2:���Programming�with�GNU�History� �5�5�����3*�����֍��G�O2� �QProgramming�z�with�GNU�History���33��!G�This��[c��!hapter�describ�M�es�ho�w�to�in�terface�programs�that�y�ou�write�with�the��gnu��History��
33��GLibrary��e.��3It��should�b�M�e�considered�a�tec��!hnical�guide.�F��eor�information�on�the�in��!teractiv�e��use����Gof��f�gnu��History��e,�see�Chapter�1�[Using�History�In��!teractiv�ely],��fpage�1.��ff���G�X2.1��In���tro�s3duction�f@to�History���33��!G�Man��!y��&programs�read�input�from�the�user�a�line�at�a�time.��The��gnu��History�library�is�able����Gto�t�k��!eep�trac�k�of�those�lines,�~�asso�M�ciate�arbitrary�data�with�eac�h�line,�~�and�utilize�information����Gfrom��fprevious�lines�in�comp�M�osing�new�ones.�� ��!GThe�Mprogrammer�using�the�History�library�has�a��!v��dDailable�functions�for�remem�b�M�ering�lines����Gon�zGa�history�list,��Masso�M�ciating�arbitrary�data�with�a�line,�remo��!ving�lines�from�the�list,�searc��!hing����Gthrough�<�the�list�for�a�line�con��!taining�an�arbitrary�text�string,�b and�referencing�an�y�line�in����Gthe���list�directly��e.��xIn�addition,���a�history��expansion��function�is�a��!v��dDailable�whic�h�pro�vides�for�a����Gconsisten��!t��fuser�in�terface�across�dieren�t�programs.����!GThe�Y�user�using�programs�written�with�the�History�library�has�the�b�M�enet�of�a�consisten��!t����Guser��Vin��!terface�with�a�set�of�w�ell-kno�wn�commands�for�manipulating�the�text�of�previous����Glines�OCand�using�that�text�in�new�commands.���The�basic�history�manipulation�commands�are����Gsimilar��fto�the�history�substitution�pro��!vided�b�y��csh�.����!GIf���the�programmer�desires,��he�can�use�the�Readline�library��e,�whic��!h�includes�some�history����Gmanipulation��fb��!y�default,�and�has�the�added�adv��dDan�tage�of�command�line�editing.����!GBefore���declaring�an��!y�functions�using�an�y�functionalit�y�the�History�library�pro�vides�in����Gother�rJco�M�de,�|�an�application�writer�should�include�the�le��<readline/history.h>��in�an��!y�le����Gthat��?uses�the�History�library's�features.��{It�supplies�extern�declarations�for�all�of�the�library's����Gpublic��ffunctions�and�v��dDariables,�and�declares�all�of�the�public�data�structures.��ff���G�X2.2��History�f@Storage���33��!G�The��fhistory�list�is�an�arra��!y�of�history�en�tries.���A�history�en�try�is�declared�as�follo�ws:����.���typedef���void�*histdata_t;��ff��.��typedef���struct�_hist_entry�{����:x�char���*line;����:x�char���*timestamp;����:x�histdata_t���data;����.��}���HIST_ENTRY;����!G�The��fhistory�list�itself�migh��!t�therefore�b�M�e�declared�as����.���HIST_ENTRY���**the_history_list;����!G�The��fstate�of�the�History�library�is�encapsulated�in��!to�a�single�structure:����.���/*����4�F*���A�structure�used�to�pass�around�the�current�state�of�the�history.����4�F*/����.��typedef���struct�_hist_state�{���� ;o��� ���G�6�D��GNU��fHistory�Library�����3*�����֍�:x��HIST_ENTRY���**entries;�/*�Pointer�to�the�entries�themselves.�*/��
33��:x�int���offset;�?<N/*�The�location�pointer�within�this�array.�*/����:x�int���length;�?<N/*�Number�of�elements�within�this�array.�*/����:x�int���size;�J��/*�Number�of�slots�allocated�to�this�array.�*/����:x�int���flags;����.��}���HISTORY_STATE;���h��!G�If��fthe�
ags�mem��!b�M�er�includes��HS_STIFLED�,�the�history�has�b�een�sti
ed.�� /���G�X2.3��History�f@F���functions���ߛ��!G�This��+section�describ�M�es�the�calling�sequence�for�the�v��dDarious�functions�exp�orted�b��!y�the��gnu����G�History��flibrary��e.���j���G�a2.3.1�d(Initializing��MHistory�and�State�Managemen���t�����!G�This�'section�describ�M�es�functions�used�to�initialize�and�manage�the�state�of�the�History����Glibrary��fwhen�y��!ou�w�an�t�to�use�the�history�functions�in�y�our�program.��%������z[F��eunction]���G�=��<x
cmtt10�void����<�"V
cmbx10�using�� �R� �� #؎�|history�y��7m#�R
�3
cmss10�(�void�)����.���Begin���a�session�in�whic��!h�the�history�functions�migh�t�b�M�e�used.�K�This�initializes�the����.��in��!teractiv�e��fv��dDariables.�������z[F��eunction]���G�HISTORY_STATE���*��history�� �R� �� #؎�|get�� �R� �� #؎�history�� �R� �� #؎�state�y��(�void�)����.���Return��fa�structure�describing�the�curren��!t�state�of�the�input�history��e.�������z[F��eunction]���G�void����history�� �R� �� #؎�|set�� �R� �� #؎�history�� �R� �� #؎�state�y��(�HISTORY_STATE��f*state�)����.���Set��fthe�state�of�the�history�list�according�to��state�.���j���G�a2.3.2�d(History��MList�Managemen���t���ߛ��!G�These���functions�manage�individual�en��!tries�on�the�history�list,�ʳor�set�parameters�managing����Gthe��flist�itself.�������z[F��eunction]���G�void����add�� �R� �� #؎�|history�y��(�const��fchar�*string�)����.���Place����string����at�the�end�of�the�history�list.�ٲThe�asso�M�ciated�data�eld�(if�an��!y)�is�set�to����.���NULL�.�������z[F��eunction]���G�void����add�� �R� �� #؎�|history�� �R� �� #؎�time�y��(�const��fchar�*string�)����.���Change��fthe�time�stamp�asso�M�ciated�with�the�most�recen��!t�history�en�try�to��string�.�������z[F��eunction]���G�HIST_ENTRY���*��remo���v�e�� �R� �� #؎�|history�y��(�int��fwhich�)����.���Remo��!v�e�xDhistory�en��!try�at�oset��whic�h��from�the�history��e.�
SwThe�remo�v�ed�elemen�t�is����.��returned��fso�y��!ou�can�free�the�line,�data,�and�con�taining�structure.�������z[F��eunction]���G�histdata_t����free�� �R� �� #؎�|history�� �R� �� #؎�en���try�y��(�HIST_ENTRY��f*histent�)����.���F��eree�[�the�history�en��!try��histen�t����and�an�y�history�library�priv��dDate�data�asso�M�ciated�with�it.����.��Returns��fthe�application-sp�M�ecic�data�so�the�caller�can�disp�ose�of�it.���� G.��� ���G�Chapter��f2:���Programming�with�GNU�History� �5�7�����3*�����֍����z[F��eunction]���G�HIST_ENTRY���*��replace�� �R� �� #؎�|history�� �R� �� #؎�en���try�y��(�int��fwhich,�const�char��
33��DG*line,��fhistdata_t�data�)����.���Mak��!e�P�the�history�en�try�at�oset��whic�h��ha�v�e��line����and��data�.��UThis�returns�the�old�en�try����.��so�u
the�caller�can�disp�M�ose�of�an��!y�application-sp�ecic�data.�I�In�the�case�of�an�in��!v��dDalid����.���whic��!h�,��fa��NULL��p�M�oin�ter�is�returned.���w�����z[F��eunction]���G�void����clear�� �R� �� #؎�|history�y��(�void�)����.���Clear��fthe�history�list�b��!y�deleting�all�the�en�tries.�������z[F��eunction]���G�void����sti
e�� �R� �� #؎�|history�y��(�int��fmax�)����.���Sti
e��fthe�history�list,�remem��!b�M�ering�only�the�last��max�g��en�tries.�������z[F��eunction]���G�int����unsti
e�� �R� �� #؎�|history�y��(�void�)����.���Stop�H�sti
ing�the�history��e.���This�returns�the�previously-set�maxim��!um�n�um�b�M�er�of�history����.��en��!tries�7
(as�set�b�y��stifle_history()�).���The�v��dDalue�is�p�M�ositiv�e�if�the�history�w�as�sti
ed,����.��negativ��!e��fif�it�w�asn't.�������z[F��eunction]���G�int����history�� �R� �� #؎�|is�� �R� �� #؎�sti
ed�y��(�void�)����.���Returns��fnon-zero�if�the�history�is�sti
ed,�zero�if�it�is�not.��MC���G�a2.3.3�d(Information��MAb�iout�the�History�List������!G�These��functions�return�information�ab�M�out�the�en��!tire�history�list�or�individual�list�en�tries.�������z[F��eunction]���G�HIST_ENTRY���**��history�� �R� �� #؎�|list�y��(�void�)����.���Return��ha��NULL��terminated�arra��!y�of��HIST_ENTRY��f*��whic�h�is�the�curren�t�input�history��e.����.��Elemen��!t��f0�of�this�list�is�the�b�M�eginning�of�time.���If�there�is�no�history��e,�return��NULL�.�������z[F��eunction]���G�int����where�� �R� �� #؎�|history�y��(�void�)����.���Returns��fthe�oset�of�the�curren��!t�history�elemen�t.�������z[F��eunction]���G�HIST_ENTRY���*��curren���t�� �R� �� #؎�|history�y��(�void�)����.���Return���the�history�en��!try�at�the�curren�t�p�M�osition,�as�determined�b�y��where_history()�.����.��If��fthere�is�no�en��!try�there,�return�a��NULL��p�M�oin�ter.�������z[F��eunction]���G�HIST_ENTRY���*��history�� �R� �� #؎�|get�y��(�int��foffset�)����.���Return���the�history�en��!try�at�p�M�osition��oset�,�T�starting�from��history_base��(see�Sec-����.��tion���2.4�[History�V��eariables],��Fpage�10).��eIf�there�is�no�en��!try�there,�or�if��oset����is�greater����.��than��fthe�history�length,�return�a��NULL��p�M�oin��!ter.�������z[F��eunction]���G�time_t����history�� �R� �� #؎�|get�� �R� �� #؎�time�y��(�HIST_ENTRY��f*entry�)����.���Return��fthe�time�stamp�asso�M�ciated�with�the�history�en��!try��en�try�.�������z[F��eunction]���G�int����history�� �R� �� #؎�|total�� �R� �� #؎�b���ytes�y��(�void�)����.���Return�PHthe�n��!um�b�M�er�PHof�b��!ytes�that�the�primary�history�en�tries�are�using.��)This�function����.��returns��fthe�sum�of�the�lengths�of�all�the�lines�in�the�history��e.���� R���� ���G�8�D��GNU��fHistory�Library�����3*�����֍��G�a2.3.4�d(Mo���ving��MAround�the�History�List���~���!G�These��ffunctions�allo��!w�the�curren�t�index�in�to�the�history�list�to�b�M�e�set�or�c�hanged.��c������z[F��eunction]���G�int����history�� �R� �� #؎�|set�� �R� �� #؎�p�b"os�y��(�int��fpos�)��
33��.���Set�fthe�curren��!t�history�oset�to��p�M�os�,���an�absolute�index�in�to�the�list.��Returns�1�on����.��success,��f0�if��p�M�os���is�less�than�zero�or�greater�than�the�n��!um�b�er��fof�history�en��!tries.�������z[F��eunction]���G�HIST_ENTRY���*��previous�� �R� �� #؎�|history�y��(�void�)����.���Bac��!k�u�up�the�curren�t�history�oset�to�the�previous�history�en�try��e,�fand�return�a�p�M�oin�ter����.��to��fthat�en��!try��e.���If�there�is�no�previous�en�try��e,�return�a��NULL��p�M�oin�ter.�������z[F��eunction]���G�HIST_ENTRY���*��next�� �R� �� #؎�|history�y��(�void�)����.���Mo��!v�e�E1the�curren��!t�history�oset�forw�ard�to�the�next�history�en�try��e,�l�and�return�the�a����.��p�M�oin��!ter��fto�that�en�try��e.���If�there�is�no�next�en�try��e,�return�a��NULL��p�M�oin�ter.��0����G�a2.3.5�d(Searc���hing��Mthe�History�List���~���!G�These�5�functions�allo��!w�searc�hing�of�the�history�list�for�en�tries�con�taining�a�sp�M�ecic�string.����GSearc��!hing�L�ma�y�b�M�e�p�erformed�b�oth�forw��!ard�and�bac�kw�ard�from�the�curren�t�history�p�M�osition.����GThe��searc��!h�ma�y�b�M�e��anc�hored�,���meaning�that�the�string�m�ust�matc�h�at�the�b�M�eginning�of�the����Ghistory��fen��!try��e.�������z[F��eunction]���G�int����history�� �R� �� #؎�|searc���h�y��(�const��fchar�*string,�int�direction�)����.���Searc��!h�wSthe�history�for��string�,���starting�at�the�curren�t�history�oset.��,If��direction��is�less����.��than��Y0,�then�the�searc��!h�is�through�previous�en�tries,�otherwise�through�subsequen�t����.��en��!tries.���If���string��1�is�found,���then�the�curren�t�history�index�is�set�to�that�history�en�try��e,����.��and��the�v��dDalue�returned�is�the�oset�in�the�line�of�the�en��!try�where��string����w�as�found.����.��Otherwise,��fnothing�is�c��!hanged,�and�a�-1�is�returned.�������z[F��eunction]���G�int����history�� �R� �� #؎�|searc���h�� �R� �� #؎�prex�y��(�const��fchar�*string,�int�direction�)����.���Searc��!h��2the�history�for��string�,�-dstarting�at�the�curren�t�history�oset.��@The�searc�h�is����.��anc��!hored:�Τmatc�hing���lines�m��!ust�b�M�egin�with��string�.�ӷIf��direction��is�less�than�0,��then�the����.��searc��!h���is�through�previous�en�tries,���otherwise�through�subsequen�t�en�tries.�0RIf��string����is����.��found,��then��athe�curren��!t�history�index�is�set�to�that�en�try��e,��and�the�return�v��dDalue�is�0.����.��Otherwise,��fnothing�is�c��!hanged,�and�a�-1�is�returned.�������z[F��eunction]���G�int����history�� �R� �� #؎�|searc���h�� �R� �� #؎�p�b"os�y��(�const��fchar�*string,�int�direction,�int����DGpos�)����.���Searc��!h��for��string���in�the�history�list,�:sstarting�at��p�M�os�,�an�absolute�index�in��!to�the�list.����.��If�T��direction��is�negativ��!e,��mthe�searc�h�pro�M�ceeds�bac�kw�ard�from��p�M�os�,��motherwise�forw�ard.����.��Returns�Jsthe�absolute�index�of�the�history�elemen��!t�where��string�:��w�as�found,��uor�-1����.��otherwise.��0����G�a2.3.6�d(Managing��Mthe�History�File���~���!G�The��eHistory�library�can�read�the�history�from�and�write�it�to�a�le.�O�This�section�do�M�cu-����Gmen��!ts��fthe�functions�for�managing�a�history�le.���� _C��� ���G�Chapter��f2:���Programming�with�GNU�History� �5�9�����3*�����֍����z[F��eunction]���G�int����read�� �R� �� #؎�|history�y��(�const��fchar�*filename�)��
33��.���Add��gthe�con��!ten�ts��gof��lename�+n�to�the�history�list,��3a�line�at�a�time.���If��lename��is��NULL�,����.��then��fread�from�`�~/.history�'.���Returns�0�if�successful,�or��errno��if�not.��������z[F��eunction]���G�int����read�� �R� �� #؎�|history�� �R� �� #؎�range�y��(�const��fchar�*filename,�int�from,�int�to�)����.���Read�Ya�range�of�lines�from��lename�,�h�adding�them�to�the�history�list.��Start�reading�at����.��line�&=�from��and�end�at��to�.��%If��from��is�zero,�?�start�at�the�b�M�eginning.�If��to��
�is�less�than��from�,����.��then���read�un��!til�the�end�of�the�le.��If��lename�:��is��NULL�,���then�read�from�`�~/.history�'.����.��Returns��f0�if�successful,�or��errno��if�not.�������z[F��eunction]���G�int����write�� �R� �� #؎�|history�y��(�const��fchar�*filename�)����.���W��erite�.�the�curren��!t�history�to��lename�,�Q%o�v�erwriting��lename���if�necessary��e.�w�If��lename����.���is����NULL�,��(then�write�the�history�list�to�`�~/.history�'.��Returns�0�on�success,�or��errno����.���on��fa�read�or�write�error.�������z[F��eunction]���G�int����app�b"end�� �R� �� #؎�|history�y��(�int��fnelements,�const�char�*filename�)����.���App�M�end�)�the�last��nelemen��!ts���of�the�history�list�to��lename�.�g0If��lename�Ɖ�is��NULL�,�JIthen����.��app�M�end��fto�`�~/.history�'.���Returns�0�on�success,�or��errno��on�a�read�or�write�error.�������z[F��eunction]���G�int����history�� �R� �� #؎�|truncate�� �R� �� #؎�le�y��(�const��fchar�*filename,�int�nlines�)����.���T��eruncate���the�history�le��lename�,��?lea��!ving�only�the�last��nlines�c�lines.��NIf��lename�<��is����.���NULL�,��fthen�`�~/.history�'�is�truncated.���Returns�0�on�success,�or��errno��on�failure.���ۍ��G�a2.3.7�d(History��MExpansion���Aԍ�!G�These��ffunctions�implemen��!t�history�expansion.�������z[F��eunction]���G�int����history�� �R� �� #؎�|expand�y��(�char��f*string,�char�**output�)����.���Expand�!)�string�,�?�placing�the�result�in��!to��output�,�a�p�M�oin��!ter�to�a�string�(see�Section�1.1����.��[History��fIn��!teraction],�page�1).���Returns:��|X��.���0�4I�If��no�expansions�to�M�ok�place�(or,��if�the�only�c��!hange�in�the�text�w�as�the����hʏremo��!v��dDal��wof�escap�M�e�c�haracters�preceding�the�history�expansion�c�haracter);�����.���1�4I�if��fexpansions�did�tak��!e�place;����.���-1�.Q��if��fthere�w��!as�an�error�in�expansion;����.���2�4I�if�O$the�returned�line�should�b�M�e�displa��!y�ed,�`�but�O$not�executed,�as�with�the��:p��
33��hʏ�mo�M�dier��f(see�Section�1.1.3�[Mo�diers],�page�2).����.��If��fan�error�o�M�curred�in�expansion,�then��output��f�con��!tains�a�descriptiv�e�error�message.��������z[F��eunction]���G�char���*��get�� �R� �� #؎�|history�� �R� �� #؎�ev���en�t�y��(�const��fchar�*string,�int�*cindex,�int����DGqchar�)����.���Returns�v�the�text�of�the�history�ev��!en�t�v�b�M�eginning�at��string�g�+��*cindex�.�
O��*cindex�8W�is����.��mo�M�died��to�p�oin��!t�to�after�the�ev�en�t�sp�M�ecier.���A�t�function�en�try��e,����cindex�Fn�p�M�oin�ts�to�the����.��index�N�in��!to��string�>��where�the�history�ev�en�t�sp�M�ecication�b�egins.��U�qc��!har��is�a�c�haracter����.��that�:Xis�allo��!w�ed�:Xto�end�the�ev��!en�t�:Xsp�M�ecication�in�addition�to�the�\normal"�terminating����.��c��!haracters.����
m���� ���G�10�?-WGNU��fHistory�Library�����3*�����֍����z[F��eunction]���G�char���**��history�� �R� �� #؎�|tok���enize�y��(�const��fchar�*string�)��
33��.���Return���an�arra��!y�of�tok�ens�parsed�out�of��string�,��\m�uc�h�as�the�shell�migh�t.�_The�tok�ens����.��are��6split�on�the�c��!haracters�in�the��history�� �>� x� H����tw�ord�� �>� x� H���delimiters���v��dDariable,��kand��6shell�quoting����.��con��!v�en�tions��fare�ob�M�ey��!ed.��������z[F��eunction]���G�char���*��history�� �R� �� #؎�|arg�� �R� �� #؎�extract�y��(�int��ffirst,�int�last,�const�char����DG*string�)����.���Extract��Ha�string�segmen��!t�consisting�of�the��rst�H�through��last��argumen��!ts�presen�t�in����.���string�.���Argumen��!ts��fare�split�using��history_tokenize�.���ߍ��G�X2.4��History�f@V���fariables�������!G�This�#section�describ�M�es�the�externally-visible�v��dDariables�exp�orted�b��!y�the��gnu��History�Li-����Gbrary��e.�������3[V��eariable]���G�int����history�� �R� �� #؎�|base����.���The��flogical�oset�of�the�rst�en��!try�in�the�history�list.�������3[V��eariable]���G�int����history�� �R� �� #؎�|length����.���The��fn��!um�b�M�er�of�en�tries�curren�tly�stored�in�the�history�list.�������3[V��eariable]���G�int����history�� �R� �� #؎�|max�� �R� �� #؎�en���tries����.���The��Zmaxim��!um�n�um�b�M�er�of�history�en�tries.�
z�This�m�ust�b�M�e�c�hanged�using��stifle_����.��history()�.�������3[V��eariable]���G�int����history�� �R� �� #؎�|write�� �R� �� #؎�timestamps����.���If�\�non-zero,��timestamps�are�written�to�the�history�le,�so�they�can�b�M�e�preserv��!ed����.��b�M�et��!w�een��fsessions.���The�default�v��dDalue�is�0,�meaning�that�timestamps�are�not�sa��!v�ed.�������3[V��eariable]���G�char����history�� �R� �� #؎�|expansion�� �R� �� #؎�c���har����.���The�;yc��!haracter�that�in�tro�M�duces�a�history�ev�en�t.��The�default�is�`�!�'.�Setting�this�to�0����.��inhibits��fhistory�expansion.�������3[V��eariable]���G�char����history�� �R� �� #؎�|subst�� �R� �� #؎�c���har����.���The��|c��!haracter�that�in�v�ok�es�w�ord�substitution�if�found�at�the�start�of�a�line.�� The����.��default��fis�`�^�'.�������3[V��eariable]���G�char����history�� �R� �� #؎�|commen���t�� �R� �� #؎�c�har����.���During���tok��!enization,�¿if�this�c�haracter�is�seen�as�the�rst�c�haracter�of�a�w�ord,�¿then����.��it�4and�all�subsequen��!t�c�haracters�up�to�a�newline�are�ignored,��ysuppressing�history����.��expansion��ffor�the�remainder�of�the�line.���This�is�disabled�b��!y�default.�������3[V��eariable]���G�char���*��history�� �R� �� #؎�|w���ord�� �R� �� #؎�delimiters����.���The�M�c��!haracters�that�separate�tok�ens�for��history_tokenize()�.��cThe�default�v��dDalue�is��"����.��\t\n()<>;&|"�.�������3[V��eariable]���G�char���*��history�� �R� �� #؎�|searc���h�� �R� �� #؎�delimiter�� �R� �� #؎�c�hars����.���The� �list�of�additional�c��!haracters�whic�h�can�delimit�a�history�searc�h�string,�;�in�addition����.��to��fspace,�T��eAB,�`�:�'�and�`�?�'�in�the�case�of�a�substring�searc��!h.���The�default�is�empt�y��e.���� {���� ���G�Chapter��f2:���Programming�with�GNU�History� л�11�����3*�����֍����3[V��eariable]���G�char���*��history�� �R� �� #؎�|no�� �R� �� #؎�expand�� �R� �� #؎�c���hars��
33��.���The��klist�of�c��!haracters�whic�h�inhibit�history�expansion�if�found�immediately�follo�wing����.���history�� �>� x� H����texpansion�� �>� x� H���c��!har�.���The��fdefault�is�space,�tab,�newline,�carriage�return,�and�`�=�'.���ύ����3[V��eariable]���G�int����history�� �R� �� #؎�|quotes�� �R� �� #؎�inhibit�� �R� �� #؎�expansion����.���If��Wnon-zero,���single-quoted�w��!ords�are�not�scanned�for�the�history�expansion�c�haracter.����.��The��fdefault�v��dDalue�is�0.�������3[V��eariable]���G�rl_linebuf_func_t���*��history�� �R� �� #؎�|inhibit�� �R� �� #؎�expansion�� �R� �� #؎�function����.���This� ?should�b�M�e�set�to�the�address�of�a�function�that�tak��!es�t�w�o�argumen�ts:���a��char��f*����.���(�string� ��)�0nand�an��int��index�in��!to�that�string�(�i� ���).���It�should�return�a�non-zero�v��dDalue�if�the����.��history���expansion�starting�at��string[i]����should�not�b�M�e�p�erformed;��zero�if�the�expansion����.��should��Ob�M�e�done.�m�It�is�in��!tended�for�use�b�y�applications�lik�e�Bash�that�use�the�history����.��expansion��fc��!haracter�for�additional�purp�M�oses.���By�default,�this�v��dDariable�is�set�to��NULL�.�����G�X2.5��History�f@Programming�Example�������!G�The��ffollo��!wing�program�demonstrates�simple�use�of�the��gnu��History�Library��e.��
�N��.���ߤN cmtt9�#include���<stdio.h>��
� ��.��#include���<readline/history.h>�� ��.��main���(argc,�argv)����F��int���argc;����F��char���**argv;����.��{����8l�char���line[1024],�*t;����8l�int���len,�done�=�0;����8l�line[0]���=�0;����8l�using_history���();����8l�while���(!done)����A��{����KS printf���("history$�");����KS fflush���(stdout);����KS t���=�fgets�(line,�sizeof�(line)�-�1,�stdin);����KS if���(t�&&�*t)����T�L{����^9xlen���=�strlen�(t);����^9xif���(t[len�-�1]�==�'\n')����g��t[len���-�1]�=�'\0';����T�L}����KS if���(!t)����T�Lstrcpy���(line,�"quit");����KS if���(line[0])����T�L{����^9xchar���*expansion;����^9xint���result;����^9xresult���=�history_expand�(line,�&expansion);����^9xif���(result)����g��fprintf���(stderr,�"%s\n",�expansion);���� �u��� ���G�12�?-WGNU��fHistory�Library�����3*����L֍�^9x�if���(result�<�0�||�result�==�2)��
� ��g��{����q�free���(expansion);����q�continue;����g��}�� ��^9xadd_history���(expansion);����^9xstrncpy���(line,�expansion,�sizeof�(line)�-�1);����^9xfree���(expansion);����T�L}����KS if���(strcmp�(line,�"quit")�==�0)����T�Ldone���=�1;����KS else���if�(strcmp�(line,�"save")�==�0)����T�Lwrite_history���("history_file");����KS else���if�(strcmp�(line,�"read")�==�0)����T�Lread_history���("history_file");����KS else���if�(strcmp�(line,�"list")�==�0)����T�L{����^9xregister���HIST_ENTRY�**the_list;����^9xregister���int�i;����^9xthe_list���=�history_list�();����^9xif���(the_list)����g��for���(i�=�0;�the_list[i];�i++)����q�printf���("%d:�%s\n",�i�+�history_base,�the_list[i]->line);����T�L}����KS else���if�(strncmp�(line,�"delete",�6)�==�0)����T�L{����^9xint���which;����^9xif���((sscanf�(line�+�6,�"%d",�&which))�==�1)����g��{����q�HIST_ENTRY���*entry�=�remove_history�(which);����q�if���(!entry)����z��fprintf���(stderr,�"No�such�entry�%d\n",�which);����q�else����z��{���� �(free���(entry->line);���� �(free���(entry);����z��}����g��}����^9xelse����g��{����q�fprintf���(stderr,�"non-numeric�arg�given�to�`delete'\n");����g��}����T�L}����A��}����.��}����
����� ���G�App�M�endix��fA:�Cop��!ying�This�Man�ual� �~13�����3*�����֍���G�OApp� �=endix�z�A��~��Cop��u�ying�z�This�Man�ual���/#��G�XA.1��GNU�f@F���free�Do�s3cumen���tation�License���ff�� �4A�V��eersion��f1.2,�No��!v�em�b�M�er��f2002�����.��Cop��!yrigh�t���������c��������f�
�����@�2000,2001,2002��fF��eree�Soft��!w�are��fF�oundation,�Inc.��
33��.��59��fT��eemple�Place,�Suite�330,�Boston,�MA�L�02111-1307,�USA����.��Ev��!ery�one��fis�p�M�ermitted�to�cop��!y�and�distribute�v�erbatim�copies����.��of��fthis�license�do�M�cumen��!t,�but�c�hanging�it�is�not�allo�w�ed.������-0.��'��PREAMBLE������'��The�vQpurp�M�ose�of�this�License�is�to�mak��!e�a�man�ual,��Ltextb�M�o�ok,�or�vQother�functional�and����'��useful���do�M�cumen��!t��free�;��in�the�sense�of�freedom:��!to�assure�ev�ery�one�the�eectiv�e�freedom����'��to��9cop��!y�and�redistribute�it,��.with�or�without�mo�M�difying�it,�either�commercially�or�non-����'��commercially��e.�c�Secondarily�,�H�this�(aLicense�preserv��!es�for�the�author�and�publisher�a�w�a�y����'��to�W9get�credit�for�their�w��!ork,��mwhile�not�b�M�eing�considered�resp�onsible�for�mo�dications����'��made��fb��!y�others.����'��This��/License�is�a�kind�of�\cop��!yleft",���whic�h��/means�that�deriv��dDativ��!e�w�orks�of�the�do�M�cumen�t����'��m��!ust��themselv�es�b�M�e�free�in�the�same�sense.� �It�complemen�ts�the�GNU��General�Public����'��License,��fwhic��!h�is�a�cop�yleft�license�designed�for�free�soft�w�are.����'��W��ee��#ha��!v�e�designed�this�License�in�order�to�use�it�for�man�uals�for�free�soft�w�are,���b�M�ecause����'��free�?soft��!w�are�needs�free�do�M�cumen�tation:���a�free�program�should�come�with�man�uals����'��pro��!viding�urthe�same�freedoms�that�the�soft�w�are�do�M�es.�͌But�this�License�is�not�limited�to����'��soft��!w�are���man�uals;���it�can�b�M�e�used�for�an�y�textual�w�ork,���regardless�of�sub� ��ject�matter�or����'��whether��2it�is�published�as�a�prin��!ted�b�M�o�ok.�@AW��ee��2recommend�this�License�principally�for����'��w��!orks��fwhose�purp�M�ose�is�instruction�or�reference.�����-1.��'��APPLICABILITY��fAND�DEFINITIONS����'��This��>License�applies�to�an��!y�man�ual�or�other�w�ork,��in�an�y�medium,��that�con�tains�a����'��notice��placed�b��!y�the�cop�yrigh�t�holder�sa�ying�it�can�b�M�e�distributed�under�the�terms����'��of���this�License.�l=Suc��!h�a�notice�gran�ts�a�w�orld-wide,��ro�y�alt�y-free�license,��unlimited�in����'��duration,��
to�o�use�that�w��!ork�under�the�conditions�stated�herein.�
9�The�\Do�M�cumen�t",����'��b�M�elo��!w,�tkrefers�g�to�an�y�suc�h�man�ual�or�w�ork.��
An�y�mem�b�M�er�of�the�public�is�a�licensee,�tkand����'��is���addressed�as�\y��!ou".��@Y��eou�accept�the�license�if�y�ou�cop�y��e,� �mo�M�dify�or�distribute�the�w�ork����'��in��fa�w��!a�y��frequiring�p�M�ermission�under�cop��!yrigh�t��fla�w.����'��A��\Mo�M�died��V��eersion"�of�the�Do�cumen��!t�means�an�y�w�ork�con�taining�the�Do�M�cumen�t�or����'��a��hp�M�ortion�of�it,��heither�copied�v��!erbatim,�or�with�mo�M�dications�and/or�translated�in��!to����'��another��flanguage.����'��A��\Secondary��Section"�is�a�named�app�M�endix�or�a�fron��!t-matter�section�of�the�Do�cumen��!t����'��that��/deals�exclusiv��!ely�with�the�relationship�of�the�publishers�or�authors�of�the�Do�M�cumen�t����'��to�z
the�Do�M�cumen��!t's�o�v�erall�sub� ��ject�(or�to�related�matters)�and�con�tains�nothing�that����'��could�خfall�directly�within�that�o��!v�erall�خsub� ��ject.�t�(Th�us,�%@if�the�Do�M�cumen�t�is�in�part�a����'��textb�M�o�ok�Նof�mathematics,��La�Secondary�Section�ma��!y�not�explain�an�y�mathematics.)��=The����'��relationship�G�could�b�M�e�a�matter�of�historical�connection�with�the�sub� ��ject�or�with�related���� ����� ���G�14�?-WGNU��fHistory�Library�����3*�����֍�'��matters,�jor�B�of�legal,�commercial,�philosophical,�ethical�or�p�M�olitical�p�osition�regarding��
33��'��them.������'��The�r\In��!v��dDarian�t�Sections"�are�certain�Secondary�Sections�whose�titles�are�designated,�0�as����'��b�M�eing�2Dthose�of�In��!v��dDarian�t�2DSections,�I~in�the�notice�that�sa��!ys�that�the�Do�cumen��!t�is�released����'��under�S5this�License.��"If�a�section�do�M�es�not�t�the�ab�o��!v�e�S5denition�of�Secondary�then�it�is����'��not�Ӎallo��!w�ed�to�b�M�e�designated�as�In�v��dDarian�t.�eSThe�Do�M�cumen�t�ma�y�con�tain�zero�In�v��dDarian�t����'��Sections.���If��the�Do�M�cumen��!t�do�es�not�iden��!tify�an�y�In�v��dDarian�t�Sections�then�there�are�none.����'��The�f�\Co��!v�er�T��eexts"�are�certain�short�passages�of�text�that�are�listed,���as�F�ron��!t-Co�v�er����'��T��eexts�-or�Bac��!k-Co�v�er�-T�exts,�"8in�the�notice�that�sa��!ys�that�the�Do�M�cumen�t�is�released�under����'��this��License.��AA�nF��eron��!t-Co�v�er�T��eext�ma�y�b�M�e�at�most�5�w�ords,�6�and�a�Bac�k-Co�v�er�T��eext�ma�y����'��b�M�e��fat�most�25�w��!ords.����'��A�C�\T��eransparen��!t"�C�cop�y�of�the�Do�M�cumen�t�means�a�mac�hine-readable�cop�y��e,�k(represen�ted����'��in�Jma�format�whose�sp�M�ecication�is�a��!v��dDailable�to�the�general�public,�sothat�is�suitable�for����'��revising���the�do�M�cumen��!t�straigh�tforw�ardly�with�generic�text�editors�or�(for�images�com-����'��p�M�osed���of�pixels)�generic�pain��!t�programs�or�(for�dra�wings)�some�widely�a�v��dDailable�dra�wing����'��editor,���and�}�that�is�suitable�for�input�to�text�formatters�or�for�automatic�translation�to����'��a�9Ov��dDariet��!y�of�formats�suitable�for�input�to�text�formatters.���A�93cop�y�made�in�an�otherwise����'��T��eransparen��!t���le�format�whose�markup,���or�absence�of�markup,�has�b�M�een�arranged�to����'��th��!w�art�0�or�discourage�subsequen��!t�mo�M�dication�b�y�readers�is�not�T��eransparen�t.���An�image����'��format� �is�not�T��eransparen��!t�if�used�for�an�y�substan�tial�amoun�t�of�text.�MA� �cop�y�that�is����'��not��f\T��eransparen��!t"�is�called�\Opaque".����'��Examples�cXof�suitable�formats�for�T��eransparen��!t�copies�include�plain��asci�>Ki��without����'��markup,�'T��eexinfo�ěinput�format,�LaT���,��[wE��B X��Qinput�format,��sgml��or��xml��using�a�publicly����'��a��!v��dDailable��e�dtd�,��%and�standard-conforming�simple��html�,�P��!ostScript�or��pdf��designed�for����'��h��!uman���mo�M�dication.��mExamples�of�transparen�t�image�formats�include��png�,���x���cf��and����'���jpg�.��QOpaque���formats�include�proprietary�formats�that�can�b�M�e�read�and�edited�only����'��b��!y��Mproprietary�w�ord�pro�M�cessors,���sgml��or��xml��for�whic�h�the��dtd��and/or�pro�M�cessing����'��to�M�ols��_are�not�generally�a��!v��dDailable,��]and�the�mac�hine-generated��html�,��]P�ostScript�or��pdf����'���pro�M�duced��fb��!y�some�w�ord�pro�M�cessors�for�output�purp�oses�only��e.����'��The��\Title�P��!age"�means,�<�for�a�prin�ted�b�M�o�ok,�<�the��title�page�itself,�plus�suc��!h�follo�wing����'��pages�R�as�are�needed�to�hold,�c}legibly��e,�the�R�material�this�License�requires�to�app�M�ear�in�the����'��title�1.page.���F��eor�w��!orks�in�formats�whic�h�do�not�ha�v�e�an�y�title�page�as�suc�h,�H�\Title�P�age"����'��means���the�text�near�the�most�prominen��!t�app�M�earance�of�the�w�ork's�title,��Xpreceding�the����'��b�M�eginning��fof�the�b�o�dy�of�the�text.����'��A���section���\En��!titled�XYZ"�means�a�named�subunit�of�the�Do�M�cumen��!t�whose�title�either����'��is�U�precisely�XYZ�U�or�con��!tains�XYZ�in�paren��!theses�follo�wing�text�that�translates�XYZ�U�in����'��another���language.���(Here�XYZ���stands�for�a�sp�M�ecic�section�name�men��!tioned�b�elo��!w,� :suc�h����'��as�aa\Ac��!kno�wledgemen�ts",�o/\Dedications",�\Endorsemen��!ts",�or�\History".)���T��eo�\Preserv��!e����'��the��Title"�of�suc��!h�a�section�when�y�ou�mo�M�dify�the�Do�cumen��!t�means�that�it�remains�a����'��section��f\En��!titled�XYZ"�according�to�this�denition.����'��The�SuDo�M�cumen��!t�ma�y�include�W��earran�t�y�Disclaimers�next�to�the�notice�whic�h�states�that����'��this��License�applies�to�the�Do�M�cumen��!t.��These�W��earran�t�y�Disclaimers�are�considered�to����'��b�M�e���included�b��!y�reference�in�this�License,���but�only�as�regards�disclaiming�w�arran�ties:����'��an��!y�n�other�implication�that�these�W��earran�t�y�Disclaimers�ma�y�ha�v�e�is�v�oid�and�has�no����'��eect��fon�the�meaning�of�this�License.���� ��� ���G�App�M�endix��fA:�Cop��!ying�This�Man�ual� �~15�����3*�����֍��-2.��'��VERBA��eTIM��fCOPYING������'��Y��eou���ma��!y�cop�y�and�distribute�the�Do�M�cumen�t�in�an�y�medium,��either�commercially�or��
33��'��noncommercially��e,�z�pro��!vided�that�this�License,�the�cop��!yrigh�t�notices,�and�the�license����'��notice�Ksa��!ying�this�License�applies�to�the�Do�M�cumen�t�are�repro�M�duced�in�all�copies,�t7and����'��that�1'y��!ou�add�no�other�conditions�whatso�M�ev�er�to�those�of�this�License.���Y��eou�ma�y�not�use����'��tec��!hnical��measures�to�obstruct�or�con�trol�the�reading�or�further�cop�ying�of�the�copies����'��y��!ou���mak�e�or�distribute.���Ho�w�ev�er,��y�ou�ma�y�accept�comp�M�ensation�in�exc�hange�for�copies.����'��If��y��!ou�distribute�a�large�enough�n�um�b�M�er�of�copies�y�ou�m�ust�also�follo�w�the�conditions����'��in��fsection�3.����'��Y��eou�}�ma��!y�also�lend�copies,��7under�the�same�conditions�stated�ab�M�o�v�e,��7and�y�ou�ma�y�publicly����'��displa��!y��fcopies.�����-3.��'��COPYING��fIN�QUANTITY����'��If��y��!ou�publish�prin�ted�copies�(or�copies�in�media�that�commonly�ha�v�e�prin�ted�co�v�ers)�of����'��the��.Do�M�cumen��!t,���n�um�b�ering��.more�than�100,���and�the�Do�cumen��!t's�license�notice�requires����'��Co��!v�er��T��eexts,�<�y�ou�m�ust�enclose�the�copies�in�co�v�ers�that�carry��e,�<�clearly�and�legibly�,�<�all����'��these��@Co��!v�er�T��eexts:���F�ron��!t-Co�v�er�T��eexts�on�the�fron�t�co�v�er,���and�Bac�k-Co�v�er�T��eexts�on����'��the��bac��!k�co�v�er.��
Both�co�v�ers�m�ust�also�clearly�and�legibly�iden�tify�y�ou�as�the�publisher����'��of�,these�copies.�H.The�fron��!t�co�v�er�m�ust�presen�t�the�full�title�with�all�w�ords�of�the�title����'��equally��xprominen��!t�and�visible.�Y��eou�ma�y�add�other�material�on�the�co�v�ers�in�addition.����'��Cop��!ying�Y4with�c�hanges�limited�to�the�co�v�ers,���as�long�as�they�preserv�e�the�title�of�the����'��Do�M�cumen��!t�uand�satisfy�these�conditions,���can�b�e�treated�as�v��!erbatim�cop�ying�in�other����'��resp�M�ects.����'��If��|the�required�texts�for�either�co��!v�er��|are�to�M�o�v��!oluminous�to�t�legibly��e,� �y�ou�should�put����'��the��rst�ones�listed�(as�man��!y�as�t�reasonably)�on�the�actual�co�v�er,��and�con�tin�ue�the����'��rest��fon��!to�adjacen�t�pages.����'��If�?|y��!ou�publish�or�distribute�Opaque�copies�of�the�Do�M�cumen�t�n�um�b�M�ering�more�than�100,����'��y��!ou�\3m�ust�either�include�a�mac�hine-readable�T��eransparen�t�cop�y�along�with�eac�h�Opaque����'��cop��!y��e,�[>or�7state�in�or�with�eac�h�Opaque�cop�y�a�computer-net�w�ork�lo�M�cation�from�whic�h����'��the��Sgeneral�net��!w�ork-using��Spublic�has�access�to�do��!wnload�using�public-standard�net�w�ork����'��proto�M�cols��=a�complete�T��eransparen��!t�cop�y�of�the�Do�M�cumen�t,��free�of�added�material.��cIf����'��y��!ou��use�the�latter�option,���y�ou�m�ust�tak�e�reasonably�pruden�t�steps,���when�y�ou�b�M�egin����'��distribution��lof�Opaque�copies�in�quan��!tit�y��e,�Ӯto��lensure�that�this�T�ransparen��!t�cop�y�will����'��remain��Cth��!us�accessible�at�the�stated�lo�M�cation�un�til�at�least�one�y�ear�after�the�last�time����'��y��!ou�k�distribute�an�Opaque�cop�y�(directly�or�through�y�our�agen�ts�or�retailers)�of�that����'��edition��fto�the�public.����'��It�&Nis�requested,�FHbut�not�required,�that�y��!ou�con�tact�the�authors�of�the�Do�M�cumen�t�w�ell����'��b�M�efore�o�redistributing�an��!y�large�n�um�b�M�er�of�copies,�z�to�giv�e�them�a�c�hance�to�pro�vide�y�ou����'��with��fan�up�M�dated�v��!ersion�of�the�Do�cumen��!t.�����-4.��'��MODIFICA��eTIONS����'��Y��eou�*ma��!y�cop�y�and�distribute�a�Mo�M�died�V��eersion�of�the�Do�cumen��!t�under�the�conditions����'��of���sections�2�and�3�ab�M�o��!v�e,��]pro�vided���that�y��!ou�release�the�Mo�died�V��eersion�under�precisely����'��this�{�License,��`with�the�Mo�M�died�V��eersion�lling�the�role�of�the�Do�cumen��!t,��`th�us�{�licensing����'��distribution��and�mo�M�dication�of�the�Mo�died�V��eersion�to�who�ev��!er�p�ossesses�a�cop��!y�of����'��it.���In��faddition,�y��!ou�m�ust�do�these�things�in�the�Mo�M�died�V��eersion:���� ���� ���G�16�?-WGNU��fHistory�Library�����3*�����֍��*��A.��=nUse��pin�the�Title�P��!age�(and�on�the�co�v�ers,��2if�an�y)�a�title�distinct�from�that�of�the��
33��=nDo�M�cumen��!t,�+and��from�those�of�previous�v�ersions�(whic�h�should,�+if�there�w�ere�an�y��e,����=nb�M�e���listed�in�the�History�section�of�the�Do�cumen��!t).�3�Y��eou�ma�y�use�the�same�title�as����=na��fprevious�v��!ersion�if�the�original�publisher�of�that�v�ersion�giv�es�p�M�ermission.���͍��+g�B.��=nList��\on�the�Title�P��!age,��Yas�authors,�one�or�more�p�M�ersons�or�en��!tities�resp�onsible�for����=nauthorship�"of�the�mo�M�dications�in�the�Mo�died�V��eersion,�<|together�with�at�least�v��!e����=nof�߸the�principal�authors�of�the�Do�M�cumen��!t�(all�of�its�principal�authors,�tif�it�has�few�er����=nthan��fv��!e),�unless�they�release�y�ou�from�this�requiremen�t.�����+@�C.��=nState���on�the�Title�page�the�name�of�the�publisher�of�the�Mo�M�died�V��eersion,���as�the����=npublisher.�����*��D.��=nPreserv��!e��fall�the�cop�yrigh�t�notices�of�the�Do�M�cumen�t.�����+�oE.��=nAdd��ean�appropriate�cop��!yrigh�t��enotice�for�y��!our�mo�M�dications�adjacen�t�to�the�other����=ncop��!yrigh�t��fnotices.�����,LF.��=nInclude,�hSimmediately�X�after�the�cop��!yrigh�t�X�notices,�a�license�notice�giving�the�public����=np�M�ermission���to�use�the�Mo�died�V��eersion�under�the�terms�of�this�License,�Pin�the�form����=nsho��!wn��fin�the�Addendum�b�M�elo�w.�����*�nG.��=nPreserv��!e��min�that�license�notice�the�full�lists�of�In�v��dDarian�t�Sections�and�required�Co�v�er����=nT��eexts��fgiv��!en�in�the�Do�M�cumen�t's�license�notice.�����*��H.��=nInclude��fan�unaltered�cop��!y�of�this�License.�����/4�I.��=nPreserv��!e�چthe�section�En�titled�\History",��Preserv�e�its�Title,��and�add�to�it�an�item����=nstating�_at�least�the�title,�mQy��!ear,�new�_authors,�and�publisher�of�the�Mo�M�died�V��eersion����=nas��Xgiv��!en�on�the�Title�P�age.�7�If�there�is�no�section�En�titled�\History"�in�the�Do�M�cu-����=nmen��!t,�O#create�-done�stating�the�title,�y��!ear,�authors,�and�publisher�of�the�Do�M�cumen��!t����=nas�Wgiv��!en�on�its�Title�P�age,��Gthen�add�an�item�describing�the�Mo�M�died�V��eersion�as����=nstated��fin�the�previous�sen��!tence.�����-��J.��=nPreserv��!e��the�net�w�ork�lo�M�cation,���if�an�y��e,���giv�en�in�the�Do�M�cumen�t�for�public�access�to����=na���T��eransparen��!t�cop�y�of�the�Do�M�cumen�t,��Mand�lik�ewise�the�net�w�ork�lo�M�cations�giv�en�in����=nthe�̈́Do�M�cumen��!t�for�previous�v�ersions�it�w�as�based�on.�S6These�ma�y�b�M�e�placed�in�the����=n\History"�8section.���Y��eou�ma��!y�omit�a�net�w�ork�lo�M�cation�for�a�w�ork�that�w�as�published����=nat�Kleast�four�y��!ears�b�M�efore�the�Do�cumen��!t�itself,�t?or�if�the�original�publisher�of�the����=nv��!ersion��fit�refers�to�giv�es�p�M�ermission.�����*��K.��=nF��eor��ran��!y�section�En�titled�\Ac�kno�wledgemen�ts"�or�\Dedications",�pPreserv�e�the�Title����=nof�/Rthe�section,�G#and�preserv��!e�in�the�section�all�the�substance�and�tone�of�eac�h�of�the����=ncon��!tributor��fac�kno�wledgemen�ts�and/or�dedications�giv�en�therein.�����,Q*L.��=nPreserv��!e�?�all�the�In�v��dDarian�t�Sections�of�the�Do�M�cumen�t,�f/unaltered�in�their�text�and����=nin�P�their�titles.��@Section�n��!um�b�M�ers�P�or�the�equiv��dDalen��!t�are�not�considered�part�of�the����=nsection��ftitles.�����)�M.��=nDelete��5an��!y�section�En�titled�\Endorsemen�ts".��JSuc�h�a�section�ma�y�not�b�M�e�included����=nin��fthe�Mo�M�died�V��eersion.�����*��N.��=nDo�g!not�retitle�an��!y�existing�section�to�b�M�e�En�titled�\Endorsemen�ts"�or�to�con
ict�in����=ntitle��fwith�an��!y�In�v��dDarian�t�Section.�����*��O.��=nPreserv��!e��fan�y�W��earran�t�y�Disclaimers.��&g��'��If��the�Mo�M�died�V��eersion�includes�new�fron��!t-matter�sections�or�app�endices�that�qualify����'��as�XSecondary�Sections�and�con��!tain�no�material�copied�from�the�Do�M�cumen�t,�g�y�ou�ma�y�at���� ȯ��� ���G�App�M�endix��fA:�Cop��!ying�This�Man�ual� �~17�����3*�����֍�'��y��!our��koption�designate�some�or�all�of�these�sections�as�in�v��dDarian�t.���T��eo�do�this,��add�their��
33��'��titles�@�to�the�list�of�In��!v��dDarian�t�@�Sections�in�the�Mo�M�died�V��eersion's�license�notice.���These����'��titles��fm��!ust�b�M�e�distinct�from�an�y�other�section�titles.���
��'��Y��eou�pma��!y�add�a�section�En�titled�\Endorsemen�ts",�s�pro�vided�it�con�tains�nothing�but����'��endorsemen��!ts��of�y�our�Mo�M�died�V��eersion�b�y�v��dDarious�parties|for�example,��Ystatemen�ts�of����'��p�M�eer�D
review�or�that�the�text�has�b�een�appro��!v�ed�D
b�y�an�organization�as�the�authoritativ�e����'��denition��fof�a�standard.����'��Y��eou�f,ma��!y�add�a�passage�of�up�to�v�e�w�ords�as�a�F��eron�t-Co�v�er�T��eext,�sand�a�passage�of�up����'��to�@�25�w��!ords�as�a�Bac�k-Co�v�er�T��eext,�T�to�the�end�of�the�list�of�Co�v�er�T��eexts�in�the�Mo�M�died����'��V��eersion.��+Only�N+one�passage�of�F�ron��!t-Co�v�er�N+T�ext�and�one�of�Bac��!k-Co�v�er�N+T�ext�ma��!y�b�M�e����'��added�N�b��!y�(or�through�arrangemen�ts�made�b�y)�an�y�one�en�tit�y��e.���If�the�Do�M�cumen�t�already����'��includes��a�co��!v�er��text�for�the�same�co��!v�er,�/!previously��added�b��!y�y�ou�or�b�y�arrangemen�t����'��made�:�b��!y�the�same�en�tit�y�y�ou�are�acting�on�b�M�ehalf�of,�_�y�ou�ma�y�not�add�another;���but����'��y��!ou�)ma�y�replace�the�old�one,�2on�explicit�p�M�ermission�from�the�previous�publisher�that����'��added��fthe�old�one.����'��The�^author(s)�and�publisher(s)�of�the�Do�M�cumen��!t�do�not�b�y�this�License�giv�e�p�M�ermission����'��to��juse�their�names�for�publicit��!y�for�or�to�assert�or�imply�endorsemen�t�of�an�y�Mo�M�died����'��V��eersion.�����-5.��'��COMBINING��fDOCUMENTS����'��Y��eou���ma��!y�com�bine�the�Do�M�cumen�t�with�other�do�M�cumen�ts�released�under�this�License,����'��under��sthe�terms�dened�in�section�4�ab�M�o��!v�e��sfor�mo�died�v��!ersions,�Ӷpro�vided��sthat�y��!ou����'��include� in�the�com��!bination�all�of�the�In�v��dDarian�t�Sections�of�all�of�the�original�do�M�cumen�ts,����'��unmo�M�died,�L3and�5�list�them�all�as�In��!v��dDarian�t�5�Sections�of�y��!our�com�bined�w�ork�in�its�license����'��notice,��fand�that�y��!ou�preserv�e�all�their�W��earran�t�y�Disclaimers.����'��The��@com��!bined�w�ork�need�only�con�tain�one�cop�y�of�this�License,��and�m�ultiple�iden�tical����'��In��!v��dDarian�t���Sections�ma��!y�b�M�e�replaced�with�a�single�cop�y��e.��BIf�there�are�m�ultiple�In�v��dDarian�t����'��Sections�6�with�the�same�name�but�dieren��!t�con�ten�ts,�Mmak�e�the�title�of�eac�h�suc�h�section����'��unique�bb��!y�adding�at�the�end�of�it,�1!in�paren�theses,�1!the�name�of�the�original�author�or����'��publisher� of�that�section�if�kno��!wn,�!�or�else�a�unique�n�um�b�M�er.���Mak�e�the�same�adjustmen�t����'��to��the�section�titles�in�the�list�of�In��!v��dDarian�t��Sections�in�the�license�notice�of�the�com��!bined����'��w��!ork.����'��In��"the�com��!bination,�Jy�ou��"m�ust�com�bine�an�y�sections�En�titled�\History"�in�the�v��dDari-����'��ous���original�do�M�cumen��!ts,��xforming�one�section�En�titled�\History";��lik�ewise�com�bine�an�y����'��sections��En��!titled�\Ac�kno�wledgemen�ts",�ۿand�an�y�sections�En�titled�\Dedications".�]�Y��eou����'��m��!ust��fdelete�all�sections�En�titled�\Endorsemen�ts."�����-6.��'��COLLECTIONS��fOF�DOCUMENTS����'��Y��eou�Ҥma��!y�mak�e�a�collection�consisting�of�the�Do�M�cumen�t�and�other�do�M�cumen�ts�released����'��under��this�License,�s�and�replace�the�individual�copies�of�this�License�in�the�v��dDarious����'��do�M�cumen��!ts�Dwith�a�single�cop�y�that�is�included�in�the�collection,�y�pro�vided�that�y�ou����'��follo��!w�t�the�rules�of�this�License�for�v�erbatim�cop�ying�of�eac�h�of�the�do�M�cumen�ts�in�all����'��other��fresp�M�ects.����'��Y��eou��=ma��!y�extract�a�single�do�M�cumen�t�from�suc�h�a�collection,��3and�distribute�it�individu-����'��ally�4under�this�License,�Wmpro��!vided�y�ou�insert�a�cop�y�of�this�License�in�to�the�extracted����'��do�M�cumen��!t,���and��Afollo�w�this�License�in�all�other�resp�M�ects�regarding�v�erbatim�cop�ying�of����'��that��fdo�M�cumen��!t.���� آ��� ���G�18�?-WGNU��fHistory�Library�����3*�����֍��-7.��'��A��!GGREGA��eTION��fWITH�INDEPENDENT�W�ORKS������'��A�]�compilation�]�of�the�Do�M�cumen��!t�or�its�deriv��dDativ�es�with�other�separate�and�indep�M�enden�t��
33��'��do�M�cumen��!ts��hor�w�orks,��in�or�on�a�v�olume�of�a�storage�or�distribution�medium,��is�called����'��an��\aggregate"�if�the�cop��!yrigh�t��resulting�from�the�compilation�is�not�used�to�limit�the����'��legal�1 righ��!ts�of�the�compilation's�users�b�M�ey�ond�what�the�individual�w�orks�p�M�ermit.���When����'��the�Q�Do�M�cumen��!t�is�included�an�aggregate,�b�this�License�do�es�not�apply�to�the�other�w��!orks����'��in��fthe�aggregate�whic��!h�are�not�themselv�es�deriv��dDativ�e�w�orks�of�the�Do�M�cumen�t.����'��If��Vthe�Co��!v�er��VT��eext�requiremen��!t�of�section�3�is�applicable�to�these�copies�of�the�Do�M�cumen�t,����'��then��Dif�the�Do�M�cumen��!t�is�less�than�one�half�of�the�en�tire�aggregate,��~the�Do�M�cumen�t's�Co�v�er����'��T��eexts�0ma��!y�b�M�e�placed�on�co�v�ers�that�brac�k�et�the�Do�M�cumen�t�within�the�aggregate,�G�or�the����'��electronic�5qequiv��dDalen��!t�of�co�v�ers�if�the�Do�M�cumen�t�is�in�electronic�form.���Otherwise�they����'��m��!ust��fapp�M�ear�on�prin�ted�co�v�ers�that�brac�k�et�the�whole�aggregate.�����-8.��'��TRANSLA��eTION����'��T��eranslation�̯is�considered�a�kind�of�mo�M�dication,�Aso�y��!ou�ma�y�distribute�translations����'��of�T�the�Do�M�cumen��!t�under�the�terms�of�section�4.� �Replacing�In�v��dDarian�t�Sections�with����'��translations�v�requires�sp�M�ecial�p�ermission�from�their�cop��!yrigh�t�v�holders,���but�y��!ou�ma�y����'��include��ktranslations�of�some�or�all�In��!v��dDarian�t��kSections�in�addition�to�the�original�v��!ersions����'��of��these�In��!v��dDarian�t��Sections.�= Y��eou�ma��!y�include�a�translation�of�this�License,��
and�all�the����'��license���notices�in�the�Do�M�cumen��!t,�Fand�an�y�W��earran�t�y�Disclaimers,�Fpro�vided�that�y�ou����'��also�� include�the�original�English�v��!ersion�of�this�License�and�the�original�v�ersions�of����'��those�notices�and�disclaimers.�5�In�case�of�a�disagreemen��!t�b�M�et�w�een�the�translation�and����'��the�:�original�v��!ersion�of�this�License�or�a�notice�or�disclaimer,�_�the�original�v�ersion�will����'��prev��dDail.����'��If�p�a�section�in�the�Do�M�cumen��!t�is�En�titled�\Ac�kno�wledgemen�ts",�{�\Dedications",�or�p�\His-����'��tory",�A�the�(�requiremen��!t�(section�4)�to�Preserv�e�its�Title�(section�1)�will�t�ypically�require����'��c��!hanging��fthe�actual�title.�����-9.��'��TERMINA��eTION����'��Y��eou��ma��!y�not�cop�y��e,���mo�M�dify�,�sublicense,�or��distribute�the�Do�M�cumen��!t�except�as�expressly����'��pro��!vided�=for�under�this�License.��bAn�y�other�attempt�to�cop�y��e,�^2mo�M�dify�,�sublicense�=or����'��distribute�f?the�Do�M�cumen��!t�is�v�oid,��5and�will�automatically�terminate�y�our�righ�ts�under����'��this�V8License.��#Ho��!w�ev�er,�fAparties�who�ha�v�e�receiv�ed�copies,�fAor�righ�ts,�fAfrom�y�ou�under�this����'��License�i+will�not�ha��!v�e�i+their�licenses�terminated�so�long�as�suc��!h�parties�remain�in�full����'��compliance.�������10.��'��FUTURE��fREVISIONS�OF�THIS�LICENSE����'��The��aF��eree�Soft��!w�are��aF�oundation�ma��!y�publish�new,�U�revised�v�ersions�of�the�GNU�� F��eree����'��Do�M�cumen��!tation���License�from�time�to�time.�xRSuc�h�new�v�ersions�will�b�M�e�similar�in�spirit����'��to� �the�presen��!t�v�ersion,�?�but�ma�y�dier�in�detail�to�address�new�problems�or�concerns.����'��See��f�http://www.gnu.org/copyleft/�.����'��Eac��!h���v�ersion�of�the�License�is�giv�en�a�distinguishing�v�ersion�n�um�b�M�er.��If�the�Do�cumen��!t����'��sp�M�ecies�r�that�a�particular�n��!um�b�ered�r�v�ersion�of�this�License�\or�an�y�later�v�ersion"����'��applies��Qto�it,��Ky��!ou�ha�v�e�the�option�of�follo�wing�the�terms�and�conditions�either�of�that����'��sp�M�ecied��v��!ersion�or�of�an�y�later�v�ersion�that�has�b�M�een�published�(not�as�a�draft)�b�y����'��the��!F��eree�Soft��!w�are��!F�oundation.��If�the�Do�M�cumen��!t�do�es�not�sp�ecify�a�v��!ersion�n�um�b�M�er�of����'��this�$�License,�D)y��!ou�ma�y�c�ho�M�ose�an�y�v�ersion�ev�er�published�(not�as�a�draft)�b�y�the�F��eree����'��Soft��!w�are��fF��eoundation.���� 銍�� ���G�App�M�endix��fA:�Cop��!ying�This�Man�ual� �~19�����3*�����֍��G�aA.1.1�d(ADDENDUM:��MHo���w�to�use�this�License�for�y�our�do�icumen�ts���ff��!G�T��eo�F�use�this�License�in�a�do�M�cumen��!t�y�ou�ha�v�e�written,�Y�include�a�cop�y�of�the�License�in�the��
33��Gdo�M�cumen��!t��fand�put�the�follo�wing�cop�yrigh�t�and�license�notices�just�after�the�title�page:��
� ���8l��Copyright���(C)� s,�A��<x
cmsltt10�Ayear�
}�your���name�.��
���8l�Permission���is�granted�to�copy,�distribute�and/or�modify�this�document����8l�under���the�terms�of�the�GNU�Free�Documentation�License,�Version�1.2����8l�or���any�later�version�published�by�the�Free�Software�Foundation;����8l�with���no�Invariant�Sections,�no�Front-Cover�Texts,�and�no�Back-Cover�Texts.����8l�A���copy�of�the�license�is�included�in�the�section�entitled�``GNU����8l�Free���Documentation�License''.���M�<��!G�If���y��!ou�ha�v�e�In�v��dDarian�t�Sections,��F��eron�t-Co�v�er�T��eexts�and�Bac�k-Co�v�er�T��eexts,��replace�the����G\with...T��eexts."���line��fwith�this:�����A���with���the�Invariant�Sections�being��Alist���their�titles�,���with��
���A��the���Front-Cover�Texts�being��Alist�,�and�with�the�Back-Cover�Texts����A��being����Alist�.���#�@��!G�If�:�y��!ou�ha�v�e�In�v��dDarian�t�Sections�without�Co�v�er�T��eexts,�`!or�some�other�com�bination�of�the����Gthree,��fmerge�those�t��!w�o��falternativ�es�to�suit�the�situation.��33��!GIf�� y��!our�do�M�cumen�t�con�tains�non�trivial�examples�of�program�co�M�de,�aw�e�recommend�releasing����Gthese�-�examples�in�parallel�under�y��!our�c�hoice�of�free�soft�w�are�license,���suc�h�as�the�GNU����GGeneral��fPublic�License,�to�p�M�ermit�their�use�in�free�soft��!w�are.���� ����� ���G�20�?-WGNU��fHistory�Library�����3*�� ���� ���G�App�M�endix��fB:�Concept�Index� x21�����3*�����֍���G�OApp� �=endix�z�B��~��Concept�z�Index���x���9��G�XA��O��G�o��� cmr9�anc��9hored�Tsearc�h�M�� �U�%�j�� cmti9�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�����8��))��G�XE����G�ev��9en�t�Tdesignators��K�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� /��1������9�� ����XF��i�� ���FDL,�TGNU�F��:�ree�Do�A�cumen��9tation�License� �o�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.����13��)㍒ ����XH���� ���history�Tev��9en�ts��Ӎ� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� o�1��
��� ���history�Texpansion���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��� �1���� ���History�TSearc��9hing� �)�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��-v�8������ ���� ���G�22�?-WGNU��fHistory�Library�����3*�� ��� ���G�App�M�endix��fC:�F��eunction�and�V�ariable�Index� ��$23�����3*�����֍���G�OApp� �=endix�z�C��~��F��aGunction�z�and�V�ariable�Index����]�����m~1��G�XA�����G�add_history�߉�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� T֬6��
����G�add_history_time� ���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��t�6����G�append_history�Y+�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���x�9��r#��G�XC����G�clear_history����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���B�7����G�current_history�,a�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�����7��r#��G�XF����G�free_history_entry� ��� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��P�6����G�XG����G�get_history_event� �͍� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��H�9����G�XH����G�history_arg_extract�Y;�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��Έ�10��
����G�history_base����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� �10����G�history_comment_char�,q�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�����10����G�history_expand�Y+�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���x�9����G�history_expansion_char�ލ� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� x+�10����G�history_get�߉�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� T֬7����G�history_get_history_state��~�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� ˬ6����G�history_get_time� ���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��t�7����G�history_inhibit_expansion_function�g�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� ���11����G�history_is_stifled� ��� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��P�7����G�history_length�9-�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���z�10����G�history_list����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� (�7����G�history_max_entries�Y;�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��Έ�10����G�history_no_expand_chars���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� Ka�11����G�history_quotes_inhibit_expansion�B��� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���G�11����G�history_search�Y+�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���x�8����G�history_search_delimiter_chars� ���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��۬10����G�history_search_pos� ��� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��P�8�����m~1�� ����history_search_prefix���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.����8��
�'�� ����history_set_history_state��~�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� ˬ6���� ����history_set_pos�,a�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�����8���� ����history_subst_char� ��� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���R�10���� ����history_tokenize� ߙ�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��T�10���� ����history_total_bytes�y9�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��7���� ����history_truncate_file���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.����9���� ����history_word_delimiters���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� Ka�10���� ����history_write_timestamps��J�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� ��10��U��� ����XN��
�u�� ����next_history����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� (�8���� ����XP���� ����previous_history� ���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��t�8���� ����XR���� ����read_history����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.�� (�9��
�'�� ����read_history_range� ��� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��P�9���� ����remove_history�Y+�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���x�6���� ����replace_history_entry���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.����7��U��� ����XS���� ����stifle_history�Y+�� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���x�7���� ����XU���� ����unstifle_history� ���� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.��t�7��
�'�� ����using_history����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���B�6���� ����XW���� ����where_history����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���B�7��
�'�� ����write_history����� �U�.��`�� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���� �U.���B�9������ v��� ���G�24�?-WGNU��fHistory�Library�����3*�� 5����; ���ï� �a��N�
#� cmbx12�YF
C� ff
cmbxti10�X��N� ff cmbx12�O��N� G� cmbx12�F��N� �j cmbx12�A��<x
cmsltt10�=��<x
cmtt10�<�"V
cmbx10�;!",�
�3
cmsy10�9��<x
�3
cmsltt10�8�-�
�3
cmcsc10�7m#�R
�3
cmss10�6p�0J
�3
cmsl10�5� ':
�3
cmti10�3��<x
�3
cmtt10�2K�`y
�3
cmr10�%�j�� cmti9�ߤN cmtt9�o��� cmr9� 6J�������