ŠĻą”±į>ž’ ž’’’ ’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ģ„Į[€ ųær§bjbj¬ś¬ś EöĪĪ8Ÿ9’’’’’’·  QQQQQ’’’’eee8„!¼ezpŲŻ"ž{%"%%% ' ' 'łoūoūoūoūoūoūo$Rs¢ōuHpQ '' ' ' 'pQQ%%h4pėėė 'Ŗ’Q%Q%łoė 'łoėėzĆ\ģg%’’’’€›mFĮĪe³¹8/Æ`jåoJp0zpav #include int max3(int x, int y, int z) { if(x>y) { if(x>z) return(x); else return z; } else if(y>z) return y; else return z; } int alg3( int a[], unsigned int n ) { int this_sum, max_sum, best_i, best_j, i, j, k; /*1*/ max_sum = 0; best_i = best_j = -1; /*2*/ for( i=0; i max_sum ) { /* update max_sum, best_i, best_j */ /*8*/ max_sum = this_sum; /*9*/ best_i = i; /*10*/ best_j = j; } } /*11*/ return( max_sum ); } int alg2( int a[], unsigned int n ) { int this_sum, max_sum, /*best_i, best_j,*/ i, j, k; /*1*/ max_sum = 0; /*best_i = best_j = -1;*/ /*2*/ for( i=0; i max_sum ) /* update max_sum, best_i, best_j */ max_sum = this_sum; } } /*7*/ return( max_sum ); } int nlgn( int a[], unsigned int n ) { return max_sub_sum( a, 0, n-1 ); } int max_sub_sum( int a[], int left, int right ) { int max_left_sum, max_right_sum; int max_left_border_sum, max_right_border_sum; int left_border_sum, right_border_sum; int center, i; /*1*/ if ( left == right ) /* Base Case */ /*2*/ if( a[left] > 0 ) /*3*/ return a[left]; else /*4*/ return 0; /*5*/ center = (left + right )/2; /*6*/ max_left_sum = max_sub_sum( a, left, center ); /*7*/ max_right_sum = max_sub_sum( a, center+1, right ); /*8*/ max_left_border_sum = 0; left_border_sum = 0; /*9*/ for( i=center; i>=left; i-- ) { /*10*/ left_border_sum += a[i]; /*11*/ if( left_border_sum > max_left_border_sum ) /*12*/ max_left_border_sum = left_border_sum; } /*13*/ max_right_border_sum = 0; right_border_sum = 0; /*14*/ for( i=center+1; i<=right; i++ ) { /*15*/ right_border_sum += a[i]; /*16*/ if( right_border_sum > max_right_border_sum ) /*17*/ max_right_border_sum = right_border_sum; } /*18*/ return max3( max_left_sum, max_right_sum, max_left_border_sum + max_right_border_sum ); } int lgn( int a[], unsigned int n ) { int this_sum, max_sum, best_i, best_j, i, j; /*1*/ i = this_sum = max_sum = 0; best_i = best_j = -1; /*2*/ for( j=0; j max_sum ) { /* update max_sum, best_i, best_j */ /*5*/ max_sum = this_sum; /*6*/ best_i = i; /*7*/ best_j = j; } else /*8*/ if( this_sum < 0 ) { /*9*/ i = j + 1; /*10*/ this_sum = 0; } } /*11*/ return( max_sum ); } void main() { int a[20],i,j,n,sum,ch; int alg4(int[],int); clrscr(); printf("Enter N value: "); scanf("%d",&n); printf("\nEnter Array values: \n"); for(i=0;i #include void lsearch(int a[],int n,int ele); void bsearch(int a[],int n,int ele); void ssort(int a[],int n); void read(int a[],int n); void main() { int a[50],n,op,ele; clrscr(); printf("\nMENU"); printf("\n1.LINEAR SEARCH"); printf("\n2. BINARY SEARCH"); printf("\n3.EXIT"); printf("\nEnter your option:"); scanf("%d",&op); if(op>0&&op<3) { printf("\nEnter the size of array:"); scanf("%d",&n); read(a,n); printf("\nEnter the elements to search:"); scanf("%d",&ele); } switch(op) { case 1: lsearch(a,n,ele); break; case 2: bsearch(a,n,ele); break; case 3:exit(0); default:printf("\nINVALID OPTION!!!"); } getch(); } void read(int a[],int n) { int i; printf("\nEnter the %d elements below\n",n); for(i=0;ia[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } void lsearch(int a[],int n,int ele) { int flag=0,i; for(i=0;iele) ul=mid-1; else if(a[mid]ll) printf("\nElement is not in the list"); } Result: Linear & Binary Searching techniques implemented & tested with sample data. Date: Signature of Instructor Review Questions Differentiate b/w Linear & Binary Search? Compute the time complexity for Binary Search? Name some applications where searching techniques are useful? For Large volumes of data which one is more optimal? PROJECT NO : 3 Sorting Learning Objectives: To learn about: Insertion Sort Shell Sort Problem Description: Sorting is the process of making a sorted order for given unsorted List of elements.Here we are consider two popular methods. Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. On a repetition, insertion sort removes one element from the input data, finds the location it belongs within the sorted list, and inserts it there. It repeats until no input elements remain. Sorting is typically done in-place, by iterating up the array, growing the sorted list behind it. At each array-position, it checks the value there against the largest value in the sorted list (which happens to be next to it, in the previous array-position checked). If larger, it leaves the element in place and moves to the next. If smaller, it finds the correct position within the sorted list, shifts all the larger values up to make a space, and inserts into that correct position. The resulting array after k iterations has the property where the first k + 1 entries are sorted ("+1" because the first entry is skipped). In each iteration the first remaining entry of the input is removed, and inserted into the result at the correct position, thus extending the result:  becomes  with each element greater than x copied to the right as it is compared against x. Shellsort is a generalization of insertion sort that allows the exchange of items that are far apart. The idea is to arrange the list of elements so that, starting anywhere, considering every hth element gives a sorted list. Such a list is said to be h-sorted. Equivalently, it can be thought of as h interleaved lists, each individually sorted.[3] Beginning with large values of h, this rearrangement allows elements to move long distances in the original list, reducing large amounts of disorder quickly, and leaving less work for smaller h-sort steps to do.[4] If the file is then k-sorted for some smaller integer k, then the file remains h-sorted. Following this idea for a decreasing sequence of h values ending in 1 is guaranteed to leave a sorted list in the end. Input: Enter unsorted List of data. Output: Returns Sorted List. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include void print(int a[],int n); void insertion(int a[],int n); void shell(int a[],int n); void bucket(int a[],int n); void main() { int n,a[30],op,i; char ch; while(1) { clrscr(); printf("\nMENU\n1.INSERTION SORT\n2.SHELL SORT\n4.EXIT\n"); printf("\nENTER YOUR CHOICE: "); scanf("%d",&op); if(op >0 && op<4) { printf("\n\n Enter the number of elements:"); scanf("%d",&n); printf("\n\n Enter the elements:"); for(i=0;i=0 &&y0;gap/=2) { for(i=gap;i=gap;j-=gap) if(temp #include void quick(int a[40],int lb,int ub); int partition(int a[40],int lb,int ub); void merge(int a[40],int *temp,int ipos,int rpos,int rightend); void msort(int a[40],int *temp,int lb,int rb); void mergesort(int a[40],int n); void print(int s[40],int n); int a[40],lb,ub; void main() { int i,n,op; char ch; { clrscr(); printf("MENU"); printf("\n1.QUICK SORT"); printf("\n2.MERGE SORT"); printf("\n3.EXIT"); printf("\nEnter your choice:"); scanf("%d",&op); if(op>0&&op<3) { printf("\nEnter the number of elements:"); scanf("%d",&n); printf("\nEnter the %d elements below\n",n); for(i=0;i=ub) return; j=partition(a,lb,ub); quick(a,lb,j-1); quick(a,j+1,ub); } int partition(int a[40],int lb,int ub) { int x,down,temp,up; down=lb+1; up=ub; x=a[lb]; while(down<=up) { while(a[down]<=x) down++; while(a[up]>x) up--; if(down #include #define size 5 int s[22],i; int tos=0; void push(int); int pop(); void display(); void main() { int ch,ele; clrscr(); do { printf("\nMENU"); printf("\n1.TO PUSH ELEMENT"); printf("\n2.TO POP ELEMENT"); printf("\n3.TO DISPLAY ELEMENT"); printf("\n4.EXIT"); printf("\nEnter your choice"); scanf("%d",&ch); switch(ch) { case 1: if(tos==size) { printf("\nStack is full"); } else { printf("\nEnter element to push"); scanf("%d",&ele); push(ele); printf("\nElement inserted in stack are"); for(i=0;i #include #define size 7 int a[22],i,front=-1,rear=0; void insert(int ele); int delete(); void display(); void main() { int op,ele,i; clrscr(); do{ printf("\nMENU"); printf("\n1.INSERTION"); printf("\n2.DELETION"); printf("\n3.DISPLAY"); printf("\n4.EXIT"); printf("\nEnter your option:"); scanf("%d",&op); switch(op) { case 1: if(rear==size-1) { printf("\nQUEUE FULL"); } else { printf("\nEnter the element to be insert:"); scanf("%d",&ele); insert(ele); printf("\nElement inserted"); printf("\nElements after insertion are"); for(i=0;i #include #include #define n 10 int issymbol(char x); void infixtopost(char ine[],char pe[]); int isopen(char x); int isoperator(char x); int precedence(char x); char top(char[] ); int pop(char s[]); void push(char s[],int x); int tos; char ine[50],pe[50]; void main() { int i=0; clrscr(); printf("enter infix expression:"); gets(ine); while((ine[i]!='\0')) { infixtopost(ine,pe); ++i; } printf("postfix expression is\n"); for(i=0;pe[i]!='\0';++i) printf("%c",pe[i]); getch(); } void infixtopost(char ine[],char pe[]) { int i,j,px,py; char x,y,s[20]; tos=-1; i=j=0; while(ine[i]!='\0') { x=ine[i]; if(!isoperator(x)&&!issymbol(x)) pe[j++]=x; else if(isoperator(x)) { if(tos!=-1) { y=top(s); if(!issymbol(y)) { py=precedence(y); px=precedence(x); while(tos!=-1&&px<=py) { pe[j++]=pop(s); y=pop(s); py=precedence(y); } } } push(s,x); } else { if(isopen(x)) push(s,x); else { while(top(s)!='(') pe[j++]=pop(s); pop(s); } } ++i; } } int issymbol(char x) { if((x=='(')||(x==')')) return(1); else return(0); } int isopen(char x) { if(x=='(') return(1); else return(0); } int isoperator(char x) { if(x=='*'||x=='+'||x=='-'||x=='/'||x=='%') return(1); else return(0); } int precedence(char x) { if(x=='^') return(3); else if(x=='%'||x=='*'||x=='/') return(2); else return(0); } char top(char s[]) { if(tos>-1) return(s[tos]); else return(-1); } int pop(char s[]) { int y; if(tos<=-1) printf("under flow\n"); else { y=s[tos]; tos--; } return(y); } void push(char s[],int x) { if(tos>=n-1) printf("over flow\n"); else { tos++; s[tos]=x; } return;} A program to evaluate the postfix expression. #include #include int tos,n; int postfixvalue(char pe[]); int isoperator(char x); int pop(int s[50]); void push(int s[50],int); void main() { char pe[50]; int i=0,p; clrscr(); printf("enter the post fix expression:\n"); while(1) { scanf("%c",&pe[i]); if(pe[i]=='#') break; ++i; } p=postfixvalue(pe); printf("The value of post fix expression is %d\n",p); getch(); } int postfixvalue(char pe[]) { int i,x,y,z,s[50]; tos=-1; i=0; while(pe[i]!='#') { if(isoperator(pe[i])) { y=pop(s); x=pop(s); switch(pe[i]) { case '*': z=x*y; break; case '+':z=x+y; break; case '-':z=x-y; break; case '/':z=x/y; break; case '%':z=x%y; break; } push(s,z); } else { printf("enter the value of %c:",pe[i]); scanf("%d",&x); push(s,x); } ++i; } return(s[tos]); } void push(int s[],int x) { if(tos>=50) printf("over flow\n"); else { tos++; s[tos]=x; } return; } int pop(int s[]) { int y; if(tos<=-1) { printf("stack is empty:\n"); return(-1); } else { y=s[tos]; tos--; } return(y); } int isoperator(char x) { if(x=='*'||x=='%'||x=='/'||x=='+'||x=='-') return(1); else return(0); } Result: program implemented for conversion of an infix expression to postfix expression & to evaluate it & is tested with sample data. Date: Signature of Instructor Review Questions Name the applications where we make use of these kind of conversions? Convert the following infix expression to postfix expression? (((a+b) * (c+d))/(f+g/k)) Evaluate the following postfix expression. 456*78/3-4+95* PROJECT NO : 7 SINGLE LINKED LIST Learning Objectives: To learn about: Single linked list Insertion, deletion operations of SLL. Merging , Reversing a SLL. Problem Description: In a linked list a  HYPERLINK "https://en.wikipedia.org/wiki/Data_structure" \o "Data structure" data structure consisting of a group of  HYPERLINK "https://en.wikipedia.org/wiki/Node_(computer_science)" \o "Node (computer science)" nodes which together represent a sequence. Under the simplest form, each node is composed of a datum and a  HYPERLINK "https://en.wikipedia.org/wiki/Reference_(computer_science)" \o "Reference (computer science)" reference (in other words, a link) to the next node in the sequence; more complex variants add additional links. This structure allows for efficient insertion or removal of elements from any position in the sequence. Input: Inserting and removing Data in Single Linked List. Output:.Performing insertion, deletion, merging and reversing the elements in the Single Linked List and shows status of SLL before and after. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include struct node { int data; struct node *next; }; typedef struct node node; node *head1,*temp,*head2,*head3,*newnode; void create(node *); void display(node *); node *insertion(node *); node *Delete(node *); node *merge(); node *sort(node *); void main() { int choice; char ch; while(1) { clrscr(); printf("\n\t\t\tMENU\n\t\t1.create\n\t\t2.insertion\n\t\t3.deletion\n\t\t4.merging\n\t\t5.sorting\n\t\t6.exit"); printf("\n\t\tenter any choice: "); scanf("%d",&choice); if(choice>0&&choice<6) head1=(node *)malloc(sizeof(node)); switch(choice) { case 1: create(head1); display(head1); break; case 2: create(head1); head1=insertion(head1); display(head1); break; case 3: create(head1); head1=Delete(head1); display(head1); break; case 4: create(head1); head2=(node *)malloc(sizeof(node)); printf("\n enter data values of other list:\n"); create(head2); head3=merge(); display(head3); break; case 5: create(head1); head1=sort(head1); display(head1); break; case 6: exit(0); default: printf("\n\t Invalid choice! \n"); } printf("\n do you wish to continue(Y/N): "); flushall(); ch=getchar(); if(ch=='N'||ch=='n') break; } getch(); } void create(node *head) { printf("enter data(Enter 0 to stop):"); scanf("%d",&head->data); if(head->data==0) { head->next=NULL; return; } else { head->next=(node *)malloc(sizeof(node)); create(head->next); } } void display(node *head) { if(head->next==NULL) { return; } else { if(head->data==0) return; printf("\n\t%d",head->data); display(head->next); } } node * insertion(node *head) { int pos,choice,count=0; printf(" specify where the insertion is to be made: "); printf("\n\t1.beginning\n\t2.any position\n\t3.end"); printf("\n enter your specification: "); scanf("%d",&choice); if(choice>0&&choice<4) { newnode=(node *)malloc(sizeof(node)); printf("\n enter data to be inserted: "); scanf("%d",&newnode->data); } if(choice==1) { newnode->next=head; head=newnode; } else if(choice==2) { printf("\n enter the position of insertion : "); scanf("%d", &pos); temp=head; while(countnext; count++; } newnode->next=temp->next; temp->next=newnode; } else if(choice==3) { temp=head; while(temp->next!=NULL) { temp=temp->next; } temp->next=newnode; newnode->next=NULL; } return(head); } node * Delete(struct node *head) { int pos,choice,count =0; printf(" specify where the deletion is to be made:\n\t1.begining\n\t2.any position\n\t3.end"); printf("\n enter your specification: "); scanf("%d",&choice); if(choice==1) { head=head->next; } else if(choice==2) { printf("\n enter position of deletion: "); scanf("%d",&pos); temp=head; while(countnext; count++; } temp->next=temp->next->next; } else if(choice==3) { temp=head; while(temp->next->next!=NULL) temp=temp->next; temp->next=NULL; } return(head); } node *merge(void) { node *temp1,*temp2,*temp3; temp1=head1; temp2=head2; temp3=(node *)malloc(sizeof(node)); head3=temp3; while((temp1!=NULL)&&(temp2!=NULL)) { if(temp1->datadata) { temp3->data=temp1->data; temp1=temp1->next; } else { temp3->data=temp2->data; temp2=temp2->next; } temp3->next=(node *)malloc(sizeof(node)); temp3=temp3->next; } if(temp1!=NULL) temp3->next=temp2; else if(temp2!=NULL) temp3->next=temp1; temp3->data=0; temp3->next=NULL; return(head3); } node * sort(node *head) { int p; node *t1,*t2; t1=head; for(;t1!=NULL;t1=t1->next) for(t2=t1->next;t2!=NULL;t2=t2->next) { if(t1->datadata) { p=t1->data; t1->data=t2->data; t2->data=p; } } return(head); } Result: Operations on single linked list were performed & tested with sample data. Date: Signature of Instructor Review Questions Can the dynamic-set operation INSERT be implemented on a singly linked list in O(1) time? What about DELETE? Implement the dictionary operations INSERT,DELETE and SEARCH using singly linked,circular lists. What are the running times of the procedures? EXERCISE NO : 8 DOUBLE LINKED LIST Learning Objectives: To learn about: Double Linked List Operations on DLL. Problem Description: In a doubly-linked list is a  HYPERLINK "http://en.wikipedia.org/wiki/Linked_data_structure" \o "Linked data structure" linked data structure that consists of a set of sequentially linked  HYPERLINK "http://en.wikipedia.org/wiki/Record_(computer_science)" \o "Record (computer science)" records called  HYPERLINK "http://en.wikipedia.org/wiki/Node_(computer_science)" \o "Node (computer science)" nodes. Each node contains two  HYPERLINK "http://en.wikipedia.org/wiki/Field_(computer_science)" \o "Field (computer science)" fields, called links, that are  HYPERLINK "http://en.wikipedia.org/wiki/Reference_(computer_science)" \o "Reference (computer science)" references to the previous and to the next node in the sequence of nodes. The beginning and ending nodes' previous and next links, respectively, point to some kind of terminator, typically a  HYPERLINK "http://en.wikipedia.org/wiki/Sentinel_node" \o "Sentinel node" sentinel node or  HYPERLINK "http://en.wikipedia.org/wiki/Null_pointer" \o "Null pointer" null, to facilitate traversal of the list. If there is only one sentinel node, then the list is circularly linked via the sentinel node. It can be conceptualized as two  HYPERLINK "http://en.wikipedia.org/wiki/Linked_list" \o "Linked list" singly linked lists formed from the same data items, but in opposite sequential orders.  HYPERLINK "http://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg"  INCLUDEPICTURE "http://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Doubly-linked-list.svg/610px-Doubly-linked-list.svg.png" \* MERGEFORMATINET  The two node links allow traversal of the list in either direction. While adding or removing a node in a doubly-linked list requires changing more links than the same operations on a singly linked list, the operations are simpler and potentially more efficient (for nodes other than first nodes) because there is no need to keep track of the previous node during traversal or no need to traverse the list to find the previous node, so that its link can be modified. Input: inserting and removing Data in Doubly Linked List. Output:.Performing insertion, deletion, merging and reversing the elements in the Doubly Linked List and shows status of DLL before and after. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include struct node { int data; struct node *prev; struct node *next; }*head1,*head2,*temp,*head,*temp1,*temp2,*newnode; void create(); void insert(int n); void Delete(int n); void sort(); void merge(); void reverse(); void search(); void display(); void main() { int n,op; clrscr(); do { printf("\nMENU"); printf("\n1.insertion"); printf("\n2.deletion"); printf("\n3.sorting"); printf("\n4.merging"); printf("\n5.reversing"); printf("\n6.searching"); printf("\n7.exit"); printf("\nenter your option"); scanf("%d",&op); if(op>0&&op<7) { printf("\nenter elements in list"); create(); head1=head; } switch(op) { case 1: insert(n); display(); break; case 2: Delete(n); display(); break; case 3: sort(); display(); break; case 4: merge(); display(); break; case 5: reverse(); break; case 6: search(); break; case 7: exit(0); default: printf("\ninvalid option"); } }while(1); } void create() { int x,n=1; head=(struct node *)malloc(sizeof(struct node)); printf("\nenter data"); scanf("%d",&x); head->data=x; head->next=NULL; temp=head; while(x!=0) { newnode=(struct node *)malloc(sizeof(struct node)); printf("\nenter data"); scanf("%d",&x); if(x!=0) { newnode->prev=temp; newnode->data=x; newnode->next=NULL; temp->next=newnode; temp=newnode; ++n; } else break; } } void insert(int n) { int pos,x,i; printf("\nenter position to insert"); scanf("%d",&pos); printf("\nenter element to insert"); scanf("%d",&x); newnode=(struct node *)malloc(sizeof(struct node)); if(pos==1) { newnode->data=x; newnode->prev=NULL; newnode->next=head; head=newnode; } else if(pos==n-1) { temp=head; while(temp->next!=NULL) temp=temp->next; newnode->data=x; newnode->next=NULL; newnode->prev=temp; temp->next=newnode; temp=newnode; } else { temp=head; for(i=1;inext; newnode->data=x; newnode->next=temp->next; temp->next->prev=newnode; temp->next=newnode; newnode->prev=temp; } } void Delete(int n) { int pos,i; printf("\nenter position to delete"); scanf("%d",&pos); if(pos==1) { head=head->next; head->prev=NULL; } else if(pos==n-1) { temp=head; while(temp->next!=NULL) temp=temp->next; temp->prev->next=NULL; } else { temp=head; for(i=1;inext; temp->prev->next=temp->next; temp->next->prev=temp->prev; } } void sort() { int t; for(temp1=head;temp1!=NULL;temp1=temp1->next) for(temp2=head;temp2->next!=NULL;temp2=temp2->next) { if((temp1->data)<(temp2->data)) { t=temp1->data; temp1->data=temp2->data; temp2->data=t; } } } void merge() { printf("\ncreate another list"); create(); temp=head; while(temp->next!=NULL) temp=temp->next; temp->next=head1; } void reverse() { temp=head; while(temp->next!=NULL) temp=temp->next; while(temp!=NULL) { printf("\n%d",temp->data); temp=temp->prev; } } void search() { int ele,flag=0; printf("\nenter element to search"); scanf("%d",&ele); for(temp=head;temp!=NULL;temp=temp->next) { if((temp->data)==ele) { flag=1; break; } } if(flag==1) printf("\n%d is in list",ele); else printf("\n%d is not in list",ele); } void display() { temp=head; printf("\nelements in list are:"); while(temp!=NULL) { printf("\n%d",temp->data); temp=temp->next; } } Result: Operations on Double linked list were performed & tested with sample data. Date: Signature of Instructor Review Questions List the applications of DLL’s. How to reverse a DLL with out using previous pointer? PROJECT NO :9 Polynomial Learning Objectives: To learn about: Polynomial manipulations How to Apply Linked List. Problem Description: The biggest integer that we can store in a variable of the type int is 231 - 1 on 32-but CPU. You can easily verify this by the following operations: int prod=1; for(int i = 1; i <=; 31; i ++) prod *= 2; System.out.println(prod); This code doesn't produce an error, it produces a result! The printed value is a negative integer -2147483648 = -231. If the value becomes too large, Java saves only the low order 32 (or 64 for longs) bits and throws the rest away. In real life applications we need to deal with integers that are larger than 64 bits (the size of a long). To manipulate with such big numbers, we will be using a linked list data structure. First we observe that each integer can be expressed in the decimal system of notation. 937 = 9*102 + 3*101 + 7*100 2011 = 2*103 + 0*102 + 1*101 + 1*100 Now, if we replace a decimal base 10 by a character, say 'x', we obtain a univariate polynomial, such as 0.45 - 1.89 x2 + 3.4 x5 + 9 x16 We will write an application that manipulates polynomials in one variable with real coefficients.Among many operations on polynomials, we implement addition, multiplication, differentiation and evaluation. A polynomial willbe represented as a linked list, where each node has an integer degree, a double coefficient and a reference to the next term. The final node will have a null reference to indicate the end of the list. Here is a linked link representation for the above polynomial: Input: Enter polynomial Data. Output:Shows resultant polynomial expression after summing and multiplication. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include #include struct term { float coef; int xp; struct term *next; }; typedef struct term *tptr; tptr createheader(); tptr findpos(tptr p,int e); tptr findprev(tptr p,int e); tptr find(tptr p,int e); void insertterm(tptr p,int e,float c); void deleteterm(tptr p,int e); tptr sumpoly(tptr p1,tptr p2); tptr propoly(tptr p1,tptr p2); void display(tptr p); void main() { tptr p,p2,res; int e,op; float c; char ch; p=createheader(); clrscr(); printf("\nEnter the coefeicient,xpower:"); while(1) { scanf("%f%d",&c,&e); insertterm(p,e,c); if(e==0) break; } display(p); while(1) { printf("\n\n\tMENU"); printf("\n\n1.FIND"); printf("\n\n2.INSERT"); printf("\n\n3.DELETE"); printf("\n\n4.ADDITION"); printf("\n\n5.MULTIPLICATION"); printf("\n\n6.EXIT"); printf("\nEnter your option:"); scanf("%d",&op); switch(op) { case 1: printf("\nEnter the exponent to be found"); scanf("%d",&e); res=find(p,e); if(res==NULL) printf("\nThe power doesnot exist"); else { printf("%f*x^%d",res->next->coef,e); } break; case 2: printf("\nEnter the coefficient and xpower"); scanf("%f%d",&c,&e); insertterm(p,e,c); display(p); break; case 3: printf("\nEnter the xpower to be deleted"); scanf("%d",&e); deleteterm(p,e); display(p); break; case 4: p2=createheader(); printf("\nEnter the terms in the second poly"); while(1) { scanf("%f%d",&c,&e); insertterm(p2,e,c); if(e==0) break; } res=sumpoly(p,p2); display(res); break; case 5: p2=createheader(); printf("\nEnter the terms in the second poly"); while(1) { scanf("%f%d",&c,&e); insertterm(p2,e,c); if(e==0) break; } res=propoly(p,p2); display(res); break; case 6: exit(0); default:printf("\nInvalid choice"); } printf("\nDo you wish to continue(y/n)"); flushall(); scanf("%c",&ch); if(ch=='n'||ch=='N') break; } } tptr createheader() { tptr p; p=(tptr)malloc(sizeof(struct term)); if(p!=NULL) p->next=NULL; else { printf("\nOut ofspace"); exit(0); } return(p); } tptr find(tptr p,int e) { tptr temp; temp=p; while(temp!=NULL){ if(temp->next->xp==e) return(temp); temp=temp->next; } return(NULL); } tptr findpos(tptr p,int e) { tptr temp; temp=p; while((temp->next!=NULL)&&(temp->next->xp>e)) temp=temp->next; return(temp); } void insertterm(tptr p,int e,float c) { tptr pos,temp; if(p->next==NULL) { temp=(tptr)malloc(sizeof(struct term)); temp->coef=c; temp->xp=e; p->next=temp; temp->next=NULL; } else { pos=find(p,e); if(pos!=NULL) pos->next->coef+=c; else { temp=(tptr)malloc(sizeof(struct term)); temp->coef=c; temp->xp=e; pos=findpos(p,e); temp->next=pos->next; pos->next=temp; } } } void deleteterm(tptr p,int e) { tptr pos,temp; pos=find(p,e); if(pos!=NULL) { temp=pos->next; pos->next=pos->next->next; free(temp); } else printf("\nThe power not found"); } tptr sumpoly(tptr p1,tptr p2) { tptr t1,t2,p3; float c; p3=createheader(); t1=p1->next; t2=p2->next; while((t1!=NULL)&&(t2!=NULL)) { if(t1->xpxp) { insertterm(p3,t2->xp,t2->coef); t2=t2->next; } else if(t1->xp>t2->xp) { insertterm(p3,t1->xp,t1->coef); t1=t1->next; } else { c=t1->coef+t2->coef; insertterm(p3,t1->xp,c); t1=t1->next; t2=t2->next; } } while(t1!=NULL) { insertterm(p3,t1->xp,t1->coef); t1=t1->next; } while(t2!=NULL) { insertterm(p3,t2->xp,t2->coef); t2=t2->next; } return(p3); } tptr propoly(tptr p1,tptr p2) { tptr t1,t2,p3; int e; float c; t1=p1->next; t2=p2->next; while(t1!=NULL) { t2=p2->next; while(t2!=NULL) { c=t1->coef*t2->coef; e=t1->xp+t2->xp; insertterm(p3,e,c); t2=t2->next; } t1=t1->next; } return(p3); } void display(tptr p) { tptr temp; temp=p->next; while(temp!=NULL) { printf("%+f*x^%d",temp->coef,temp->xp); temp=temp->next; } } Result: Polynomial Data Structure using linked lists were implemented & their operations were tested with sample data. Date: Signature of Instructor Review Questions How polynomials are useful in computer applications? Compute the addition & multiplication of the following polynomials. 5x2+4x3+9 & 7x4+5x3+10 PROJECT NO : 9 Binary Search Tree Learning Objectives: To learn about: Binary Search Tree Inserting an element into BST Deleting an element in to BST. Tree traversalsProblem Description: Binary search tree (BST), sometimes also called an ordered or sorted binary tree, is a  HYPERLINK "http://en.wikipedia.org/wiki/Node_(computer_science)" \o "Node (computer science)" node-based  HYPERLINK "http://en.wikipedia.org/wiki/Binary_tree" \o "Binary tree" binary tree data structure which has the following properties: HYPERLINK "http://en.wikipedia.org/wiki/Binary_search_tree" \l "cite_note-1" [1] The left  HYPERLINK "http://en.wikipedia.org/wiki/Tree_(data_structure)" \l "Subtree" \o "Tree (data structure)" subtree of a node contains only nodes with keys less than the node's key. The right subtree of a node contains only nodes with keys greater than the node's key. The left and right subtree must each also be a binary search tree. There must be no duplicate nodes. Input: Enter Data to construct Binary Search Tree. Output: After performing insertion and deletion operations BST status will be displayed H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include #include #include struct tree { int data; struct tree *left,*right; }; typedef struct tree node; node *tree; node *insert(node *,int); node *del(node *,int); void inorder(node *); void postorder(node *); void preorder(node *); node *finmin(node *); void main() { int ch,ele,op; clrscr(); tree=NULL; do { clrscr(); printf("\n 1.insert"); printf("\n 2.delete"); printf("\n 3.traversal"); printf("\n 4.exit"); printf("\n enter your choice:"); scanf("%d",&ch); switch(ch) { case 1: printf("\n enter element to insert(or 0 to stop):"); scanf("%d",&ele); while(ele!=0) { tree=insert(tree,ele); scanf("%d",&ele); } getch(); break; case 2: printf("\m enter element to delete:"); scanf("%d",&ele); tree=del(tree,ele); printf("element %d deleted ",ele); getch(); break; case 3: do { printf("\n 1.preorder"); printf("\n 2.inorder"); printf("\n 3.postorder"); printf("\n 4.exit"); printf("\n enter your choice:"); scanf("%d",&op); switch(op) { case 1: printf("\n preorder of tree..."); preorder(tree); getch(); break; case 2: printf("\n inorder of tree..."); inorder(tree); getch(); break; case 3: printf("\n postorder of tree..."); postorder(tree); getch(); break; case 4: exit(0); } }while(1); case 4: exit(0); default: printf("\n invalid choice"); } }while(1); } node *insert(node *t,int ele) { if(!t) { t=(node *)malloc(sizeof(node)); t->data=ele; t->left=NULL; t->right=NULL; return(t); } if(eledata) t->left=insert(t->left,ele); if(ele>t->data) t->right=insert(t->right,ele); return(t); } void preorder(node *t) { if(t) { printf("%d\t",t->data); preorder(t->left); preorder(t->right); } } void inorder(node *t) { if(t) { inorder(t->left); printf("%d\t",t->data); inorder(t->right); } } void postorder(node *t) { if(t) { postorder(t->left); postorder(t->right); printf("%d\t",t->data); } } node *del(node *t,int ele) { node *temp; if(t==NULL) printf("\n element not found"); else if(eledata) t->left=del(t->left,ele); else if(ele>t->data) t->right=del(t->right,ele); else if(t->left&&t->right) { temp=finmin(t->right); t->data=temp->data; t->right=del(t->right,t->data); } else { temp=t; if((t->left)==NULL) t=t->right; else if((t->right)==NULL) t=t->left; free(temp); } return t; } node * finmin(node *t) { if(t==NULL) return NULL; else if(t->left==NULL) return t; else return finmin(t->left); } Result: Binary Search Tree is implemented & tested with sample data. Date: Signature of Instructor Review Questions A binary search tree is constructed by inserting the key values 1, 2, 3, 4, 5, 6, 7 in some order specified by a permutation of 1, ..., 7, into an initially empty tree. Which of these permutations will lead to a complete binary search tree ( 1 node at level 1, 2 nodes at level 2, and 4 nodes at level 3)? Is the operation of deletion in a binary search tree commutative in the sense that deleting x and then y from a binary search tree leaves the same tree as deleting y and then x? Argue why it is so or give a counter-example. A binary search tree is constructed by inserting the key values 1, 2, 3, 4, 5, 6, 7 in some order specified by a permutation of 1... 7, into an initially empty tree. Which of these permutations will lead to a complete binary search tree ( 1 node at level 1, 2 nodes at level 2, and 4 nodes at level 3)? PROJECT NO: 11 Hashing Learning Objectives: To learn about: Separate chaining Hashing Technique. Problem Description: In the method known as separate chaining, each bucket is independent, and has some sort of  HYPERLINK "http://en.wikipedia.org/wiki/List_(abstract_data_type)" \o "List (abstract data type)" list of entries with the same index. The time for hash table operations is the time to find the bucket (which is constant) plus the time for the list operation. (The technique is also called open hashing or closed addressing.) In a good hash table, each bucket has zero or one entries, and sometimes two or three, but rarely more than that. Therefore, structures that are efficient in time and space for these cases are preferred. Structures that are efficient for a fairly large number of entries are not needed or desirable. If these cases happen often, the hashing is not working well, and this needs to be fixed. Input: Enter data for Hash table. Output: Showing the Hash table data after performing operations. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include typedef struct list_node *node_ptr; struct list_node { element_type element; node_ptr next; }; typedef node_ptr LIST; typedef node_ptr position; /* LIST *the_list will be an array of lists, allocated later */ /* The lists will use headers, allocated later */ struct hash_tbl { unsigned int table_size; LIST *the_lists; }; typedef struct hash_tbl *HASH_TABLE; HASH_TABLE initialize_table( unsigned int table_size ) { HASH_TABLE H; int i; if( table size < MIN_TABLE_SIZE ) { error("Table size too small"); return NULL; } /* Allocate table */ H = (HASH_TABLE) malloc ( sizeof (struct hash_tbl) ); if( H == NULL ) fatal_error("Out of space!!!"); H->table_size = next_prime( table_size ); /* Allocate list pointers */ H->the_lists = (position *) malloc( sizeof (LIST) * H->table_size ); if( H->the_lists == NULL ) fatal_error("Out of space!!!"); /* Allocate list headers */ for(i=0; itable_size; i++ ) { H->the_lists[i] = (LIST) malloc ( sizeof (struct list_node) ); if( H->the_lists[i] == NULL ) fatal_error("Out of space!!!"); else H->the_lists[i]->next = NULL; } return H; } position find( element_type key, HASH_TABLE H ) { position p; LIST L; L = H->the_lists[ hash( key, H->table_size) ]; p = L->next; while( (p != NULL) && (p->element != key) ) /* Probably need strcmp!! */ p = p->next; return p; } void insert( element_type key, HASH_TABLE H ) { position pos, new_cell; LIST L; pos = find( key, H ); if( pos == NULL ) { new_cell = (position) malloc(sizeof(struct list_node)); if( new_cell == NULL ) fatal_error("Out of space!!!"); else { L = H->the_lists[ hash( key, H->table size ) ]; new_cell->next = L->next; new_cell->element = key; /* Probably need strcpy!! */ L->next = new_cell; } } } Result: Separate chaining Hashing technique was implemented & tested its performance with sample data. Date: Signature of Instructor Review Questions 1. Given input {4371, 1323, 6173, 4199, 4344, 9679, 1989} and a hash function h(x) = x(mod 10), show the resulting open hash table EXERCISE NO : 12 Stacks Learning Objectives: To learn about: Implementing Stacks & Queues using Linked lists. Problem Description: A stack is a particular kind of abstract data type or collection in which the principal (or only) operations on the collection are the addition of an entity to the collection, known as push and removal of an entity, known as pop.[1] The relation between the push and pop operations is such that the stack is a Last-In-First-Out (LIFO) data structure. In a LIFO data structure, the last element added to the structure must be the first one to be removed. This is equivalent to the requirement that, considered as a linear data structure, or more abstractly a sequential collection, the push and pop operations occur only at one end of the structure, referred to as the top of the stack. Often a peek or top operation is also implemented, returning the value of the top element without removing it. Input: Push Data into the stack. Output:.Performing pushing and poping the elements in the stack, we can see each and every status of stack before and after. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include struct stack { int data; struct stack *next; }*tos; void create(int n); void push(int n); int pop(); void display(); void main() { int op,n,t; tos=NULL; clrscr(); do { printf("\n MENU\n1.PUSH\n2.POP\n3.DISPLAY\n4.EXIT"); printf("\n ENter Your Option:"); scanf("%d",&op); switch(op) { case 1:printf("\n Enter Data:"); scanf("%d",&n); if(tos==NULL) { create(n); display(); } else { push(n); display(); } break; case 2:if(tos==NULL) { printf("\n Stack Is Empty"); } else { t=pop(); printf("\n Poped Element is %d",t); display(); break; } case 3: display(); break; case 4:exit(0); default:printf("\n Invalid Option"); } } while(1); } void create(int n) { tos=(struct stack *)malloc(sizeof(struct stack)); tos->data=n; tos->next=NULL; } void push(int n) { struct stack *nn; nn=(struct stack *)malloc(sizeof(struct stack)); nn->data=n; nn->next=tos; tos=nn; } int pop() { int t; t=tos->data; tos=tos->next; return(t); } void display() { struct stack *p; if(tos==NULL) { printf("\n Stack Is Empty"); } else { printf("\n Elements In stack are:"); p=tos; while(p!=NULL) { printf("\t-> %d",p->data); p=p->next; } } } Result: Stacks & Queue Data structures were implemented using Linked Lists & also all possible operations were tested over them with sample data. Date: Signature of Instructor Review Questions Implement a stack using a singly linked list L. The run time of PUSH and POP should be O(1). Queues Learning Objectives: To learn about: Implementing Queues using Linked lists. Problem Description: A queue is a particular kind of abstract data type or collection in which the principal (or only) operations on the collection are the addition of an entity to the collection, known as enqueue and removal of an entity, known as dequeue. The relation between the enqueue and dequeue operations is such that the queue is a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the First element added to the structure must be the first one to be removed. This is equivalent to the requirement that, considered as a linear data structure, or more abstractly a sequential collection, the dequeue and enqueue operations occur at front and rear ends of the structure. Returning the value of the dequeue element without removing it. Input: Inserting and removing Data into the queue. Output:.Performing enqueue and dequeue the elements in the queue, we can see each and every status of queue before and after. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include #define MAXSIZE 10 void insertion(); void deletion(); void display(); struct node { int info; struct node *link; }*new,*temp,*p,*front=NULL,*rear=NULL; typedef struct node N; main() { int ch; do { printf("\n\t\t\tLinked queue"); printf("\n 1.Insertion"); printf("\n 2.Deletion"); printf("\n 3.Display"); printf("\n 4.Exit"); printf("\n Enter your choice : "); scanf("%d",&ch); switch(ch) { case 1: insertion(); break; case 2: deletion(); break; case 3: display(); break; default: break; } }while(ch<=3); } void insertion() { int item; new=(N*)malloc(sizeof(N)); printf("\nEnter the item : "); scanf("%d",&item); new->info=item; new->link=NULL; if(front==NULL) front=new; else rear->link=new; rear=new; } void deletion() { if(front==NULL) printf("\nQueue is empty"); else { p=front; printf("\nDeleted element is : %d",p->info); front=front->link; free(p); } } void display() { if(front==NULL) printf("\nQueue is empty"); else { printf("\nThe elements are : "); temp=front; while(temp!=NULL) { printf("%d",temp->info); temp=temp->link; } } } Result: Stacks & Queue Data structures were implemented using Linked Lists & also all possible operations were tested over them with sample data. Date: Signature of Instructor Review Questions Explain how to implement a queue using two stacks. Analyse the running time of the queue operations. Implement a queue using a singly linked list L. The run time of ENQUEUE and DEQUE should be O(1). EXERCISE NO : 13 AVL Tree Learning Objectives: To learn about: To learn how to construct AVL Tree. Problem Description AVL tree (Adelson-Velskii and Landis' tree, named after the inventors) is a  HYPERLINK "http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree" \o "Self-balancing binary search tree" self-balancing binary search tree, and it was the first such  HYPERLINK "http://en.wikipedia.org/wiki/Data_structure" \o "Data structure" data structure to be invented. HYPERLINK "http://en.wikipedia.org/wiki/AVL_tree" \l "cite_note-1" [1] In an AVL tree, the  HYPERLINK "http://en.wikipedia.org/wiki/Tree_height" \o "Tree height" heights of the two  HYPERLINK "http://en.wikipedia.org/wiki/Child_node" \o "Child node" child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property. Lookup, insertion, and deletion all take  HYPERLINK "http://en.wikipedia.org/wiki/Big_O_notation" \o "Big O notation" O(log n) time in both the average and worst cases, where n is the number of nodes in the tree prior to the operation. Insertions and deletions may require the tree to be rebalanced by one or more  HYPERLINK "http://en.wikipedia.org/wiki/Tree_rotation" \o "Tree rotation" tree rotations. Input: Enter data for constructing AVL Tree Output:Showing the AVL Tree before and after operations. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Header file typedef int ElementType; /* START: fig4_35.txt */ #ifndef _AvlTree_H #define _AvlTree_H struct AvlNode; typedef struct AvlNode *Position; typedef struct AvlNode *AvlTree; AvlTree MakeEmpty( AvlTree T ); Position Find( ElementType X, AvlTree T ); Position FindMin( AvlTree T ); Position FindMax( AvlTree T ); AvlTree Insert( ElementType X, AvlTree T ); AvlTree Delete( ElementType X, AvlTree T ); ElementType Retrieve( Position P ); #endif /* _AvlTree_H */ /* END */ Implementation: #include #include "fatal.h" struct AvlNode { ElementType Element; AvlTree Left; AvlTree Right; int Height; }; AvlTree MakeEmpty( AvlTree T ) { if( T != NULL ) { MakeEmpty( T->Left ); MakeEmpty( T->Right ); free( T ); } return NULL; } Position Find( ElementType X, AvlTree T ) { if( T == NULL ) return NULL; if( X < T->Element ) return Find( X, T->Left ); else if( X > T->Element ) return Find( X, T->Right ); else return T; } Position FindMin( AvlTree T ) { if( T == NULL ) return NULL; else if( T->Left == NULL ) return T; else return FindMin( T->Left ); } Position FindMax( AvlTree T ) { if( T != NULL ) while( T->Right != NULL ) T = T->Right; return T; } /* START: fig4_36.txt */ static int Height( Position P ) { if( P == NULL ) return -1; else return P->Height; } /* END */ static int Max( int Lhs, int Rhs ) { return Lhs > Rhs ? Lhs : Rhs; } /* START: fig4_39.txt */ /* This function can be called only if K2 has a left child */ /* Perform a rotate between a node (K2) and its left child */ /* Update heights, then return new root */ static Position SingleRotateWithLeft( Position K2 ) { Position K1; K1 = K2->Left; K2->Left = K1->Right; K1->Right = K2; K2->Height = Max( Height( K2->Left ), Height( K2->Right ) ) + 1; K1->Height = Max( Height( K1->Left ), K2->Height ) + 1; return K1; /* New root */ } /* END */ /* This function can be called only if K1 has a right child */ /* Perform a rotate between a node (K1) and its right child */ /* Update heights, then return new root */ static Position SingleRotateWithRight( Position K1 ) { Position K2; K2 = K1->Right; K1->Right = K2->Left; K2->Left = K1; K1->Height = Max( Height( K1->Left ), Height( K1->Right ) ) + 1; K2->Height = Max( Height( K2->Right ), K1->Height ) + 1; return K2; /* New root */ } /* START: fig4_41.txt */ /* This function can be called only if K3 has a left */ /* child and K3's left child has a right child */ /* Do the left-right double rotation */ /* Update heights, then return new root */ static Position DoubleRotateWithLeft( Position K3 ) { /* Rotate between K1 and K2 */ K3->Left = SingleRotateWithRight( K3->Left ); /* Rotate between K3 and K2 */ return SingleRotateWithLeft( K3 ); } /* END */ /* This function can be called only if K1 has a right */ /* child and K1's right child has a left child */ /* Do the right-left double rotation */ /* Update heights, then return new root */ static Position DoubleRotateWithRight( Position K1 ) { /* Rotate between K3 and K2 */ K1->Right = SingleRotateWithLeft( K1->Right ); /* Rotate between K1 and K2 */ return SingleRotateWithRight( K1 ); } /* START: */ AvlTree Insert( ElementType X, AvlTree T ) { if( T == NULL ) { /* Create and return a one-node tree */ T = malloc( sizeof( struct AvlNode ) ); if( T == NULL ) FatalError( "Out of space!!!" ); else { T->Element = X; T->Height = 0; T->Left = T->Right = NULL; } } else if( X < T->Element ) { T->Left = Insert( X, T->Left ); if( Height( T->Left ) - Height( T->Right ) == 2 ) if( X < T->Left->Element ) T = SingleRotateWithLeft( T ); else T = DoubleRotateWithLeft( T ); } else if( X > T->Element ) { T->Right = Insert( X, T->Right ); if( Height( T->Right ) - Height( T->Left ) == 2 ) if( X > T->Right->Element ) T = SingleRotateWithRight( T ); else T = DoubleRotateWithRight( T ); } /* Else X is in the tree already; we'll do nothing */ T->Height = Max( Height( T->Left ), Height( T->Right ) ) + 1; return T; } /* END */ AvlTree Delete( ElementType X, AvlTree T ) { printf( "Sorry; Delete is unimplemented; %d remains\n", X ); return T; } ElementType Retrieve( Position P ) { return P->Element; } #include "avltree.h" #include main( ) { AvlTree T; Position P; int i; int j = 0; T = MakeEmpty( NULL ); for( i = 0; i < 50; i++, j = ( j + 7 ) % 50 ) T = Insert( j, T ); for( i = 0; i < 50; i++ ) if( ( P = Find( i, T ) ) == NULL || Retrieve( P ) != i ) printf( "Error at %d\n", i ); /* for( i = 0; i < 50; i += 2 ) T = Delete( i, T ); for( i = 1; i < 50; i += 2 ) if( ( P = Find( i, T ) ) == NULL || Retrieve( P ) != i ) printf( "Error at %d\n", i ); for( i = 0; i < 50; i += 2 ) if( ( P = Find( i, T ) ) != NULL ) printf( "Error at %d\n", i ); */ printf( "Min is %d, Max is %d\n", Retrieve( FindMin( T ) ), Retrieve( FindMax( T ) ) ); return 0; } Result: AVL Tree implemented with sample data. Date: Signature of Instructor Review Questions Compute the time complexity for above algorithm? EXERCISE NO: 14 Circular Linked List Learning Objectives: To learn about: To learn how to implement circular Linked List Technique. Problem Description: In the last  HYPERLINK "https://en.wikipedia.org/wiki/Node_(computer_science)" \o "Node (computer science)" node of a list, the link field often contains a null reference, a special value used to indicate the lack of further nodes. A less common convention is to make it point to the first node of the list; in that case the list is said to be circular or circularly linked; otherwise it is said to be open or linear. Input: Enter Data For constructing List. Output: Showing Circular Linked List Data before and after performing operations. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: #include #include typedef struct Node { int data; struct Node *next; }node; void insert(node *pointer, int data) { node *start = pointer; /* Iterate through the list till we encounter the last node.*/ while(pointer->next!=start) { pointer = pointer -> next; } /* Allocate memory for the new node and put data in it.*/ pointer->next = (node *)malloc(sizeof(node)); pointer = pointer->next; pointer->data = data; pointer->next = start; } int find(node *pointer, int key) { node *start = pointer; pointer = pointer -> next; //First node is dummy node. /* Iterate through the entire linked list and search for the key. */ while(pointer!=start) { if(pointer->data == key) //key is found. { return 1; } pointer = pointer -> next;//Search in the next node. } /*Key is not found */ return 0; } void delete(node *pointer, int data) { node *start = pointer; /* Go to the node for which the node next to it has to be deleted */ while(pointer->next!=start && (pointer->next)->data != data) { pointer = pointer -> next; } if(pointer->next==start) { printf("Element %d is not present in the list\n",data); return; } /* Now pointer points to a node and the node next to it has to be removed */ node *temp; temp = pointer -> next; /*temp points to the node which has to be removed*/ pointer->next = temp->next; /*We removed the node which is next to the pointer (which is also temp) */ free(temp); /* Beacuse we deleted the node, we no longer require the memory used for it . free() will deallocate the memory. */ return; } void print(node *start,node *pointer) { if(pointer==start) { return; } printf("%d ",pointer->data); print(start,pointer->next); } int main() { /* start always points to the first node of the linked list. temp is used to point to the last node of the linked list.*/ node *start,*temp; start = (node *)malloc(sizeof(node)); temp = start; temp -> next = start; /* Here in this code, we take the first node as a dummy node. The first node does not contain data, but it used because to avoid handling special cases in insert and delete functions. */ printf("1. Insert\n"); printf("2. Delete\n"); printf("3. Print\n"); printf("4. Find\n"); while(1) { int query; scanf("%d",&query); if(query==1) { int data; scanf("%d",&data); insert(start,data); } else if(query==2) { int data; scanf("%d",&data); delete(start,data); } else if(query==3) { printf("The list is "); print(start,start->next); printf("\n"); } else if(query==4) { int data; scanf("%d",&data); int status = find(start,data); if(status) { printf("Element Found\n"); } else { printf("Element Not Found\n"); } } } } Result: Circular Linked List technique was implemented & tested its performance with sample data. Date: Signature of Instructor Review Questions Compute the time complexity for above algorithm? EXERCISE NO : 15 Heap sort Learning Objectives: To learn about: To learn heap sort Technique. Problem Description: A heap is a specialized  HYPERLINK "http://en.wikipedia.org/wiki/Tree_(data_structure)" \o "Tree (data structure)" tree-based  HYPERLINK "http://en.wikipedia.org/wiki/Data_structure" \o "Data structure" data structure that satisfies the heap property: If A is a parent  HYPERLINK "http://en.wikipedia.org/wiki/Node_(computer_science)" \o "Node (computer science)" node of B then key(A) is ordered with respect to key(B) with the same ordering applying across the heap. Either the keys of parent nodes are always greater than or equal to those of the children and the highest key is in the root node (this kind of heap is called max heap) or the keys of parent nodes are less than or equal to those of the children and the lowest key is in the root node (min heap). Heaps are crucial in several efficient  HYPERLINK "http://en.wikipedia.org/wiki/Graph_theory" \o "Graph theory" graph  HYPERLINK "http://en.wikipedia.org/wiki/Algorithm" \o "Algorithm" algorithms such as  HYPERLINK "http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" \o "Dijkstra's algorithm" Dijkstra's algorithm, and in the sorting algorithm  HYPERLINK "http://en.wikipedia.org/wiki/Heapsort" \o "Heapsort" heapsort. The operations commonly performed with a heap are: create-heap: create an empty heap heapify: create a heap out of given array of elements find-max or find-min: find the maximum item of a max-heap or a minimum item of a min-heap, respectively (aka,  HYPERLINK "http://en.wikipedia.org/wiki/Peek_(data_type_operation)" \o "Peek (data type operation)" peek) delete-max or delete-min: removing the root node of a max- or min-heap, respectively increase-key or decrease-key: updating a key within a max- or min-heap, respectively insert: adding a new key to the heap merge: joining two heaps to form a valid new heap containing all the elements of both. Input: Enter Data For constructing Heap Tree. Later to call Heap sort. Output: Display node value deleted from the list and finally we get sorted List. H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: void heapsort( input_type a[], unsigned int n ) { int i; for( i=n/2; i>0; i-- ) /* build_heap */ perc_down (a, i, n ); for( i=n; i>=2; i-- ) { swap( &a[1], &a[i] ); /* delete_max */ perc_down( a, 1, i-1 ); } } void perc_down( input_type a[], unsigned int i, unsigned int n ) { unsigned int child; input_type tmp; for( tmp=a[i]; i*2<=n; i=child ) { child = i*2; if( ( child != n ) && ( a[child+1] > a[child] ) ) child++; if( tmp < a[child] ) a[i] = a[child]; else break; } a[i] = tmp; } Result: Heap sort technique was implemented & tested its performance with sample data. Date: Signature of Instructor Review Questions Compute the time complexity for above algorithm? EXERCISE NO : 16 Airport simulation Learning Objectives: To learn about: To know how to apply queue for real time problems. Problem Description: There is a small busy airport with only one runway. In each unit of time one plane can land or one plane can take off, but not both. Planes arrive ready to land or to take off at random times, so at any given unit of time, the runway may be idle or a plane may be landing or taking off. There may be several planes waiting either to land or to take off. Follow the steps given below to design the program. 1. Create two queues one for the planes landing and the other for planes taking off. 2. Get the maximum number of units for which the simulation program would run. 3. Get the expected number of planes arriving in one unit and number of planes ready to take off in one unit . 3. To display the statistical data concerning the simulation, declare following data members. a. idletime - to store the number of units the runway was idle b. landwait - to store total waiting time required for planes landed c. nland - to store number of planes landed d. nplanes - to store number of planes processed e. nrefuse - to store number of planes refused to land on airport f. ntakeoff - to store number of planes taken off g. takeoffwait - to store total waiting time taken for take off Initialize the queue used for the plane landing and for the take off Get the data for , and from the user. The process of simulation would run for many units of time, hence run a loop in main( ) that would run from to where would be 1 and would be the maximum number of units the program has to be run. Generate a random number. Depending on the value of random number generated, perform following tasks. 1. If the random number is less than or equal to 1 then get data for the plane ready to land. Check whether or not the queue for landing of planes is full. If the queue is full then refuse the plane to land. If the queue is not empty then add the data to the queue maintained for planes landing. 2. If the random number generated is zero, then generate a random number again. Check if this number is less than or equal to 1. If it is , then get data for the plane ready to take off. Check whether or not the queue for taking a plane off is full. If the queue is full then refuse the plane to take off otherwise add the data to the queue maintained for planes taking off. 3. It is better to keep a plane waiting on the ground than in the air, hence allow a plane to take off only, if there are no planes waiting to land. 4. After receiving a request from new plane to land or take off, check the queue of planes waiting to land, and only if the landing queue is empty, allow a plane to take off. 5. If the queue for planes landing is not empty then remove the data of plane in the queue else run the procedure to land the plane. 6. Similarly, if the queue for planes taking off is not empty then remove the data of plane in the queue else run the procedure to take off the plane. 7. If both the queues are empty then the runway would be idle. 8. Finally, display the statistical data As given below. Total number of planes processed Number of planes landed : Number of planes taken off : Number of planes refused use : Number of planes left ready to land : Number of planes left ready to take off : Percentage of time the runway was idle : Average wait time to land : Average wait time to take off : Input: Enter Data required for this project. Output: display the statistical data As given below. Total number of planes processed Number of planes landed : Number of planes taken off : Number of planes refused use : Number of planes left ready to land : Number of planes left ready to take off : Percentage of time the runway was idle : Average wait time to land : Average wait time to take off : H/W & S/W Specifications: Pentium –IV Putty software Linux Server with c compiler Source Code: /* Airport simulation */ #include #include #include #include #include #include #include #define MAX 3 #define ARRIVE 0 #define DEPART 1 struct plane { int id ; int tm ; } ; struct queue { int count ; int front ; int rear ; struct plane p[MAX] ; } ; void initqueue ( struct queue * ) ; void addqueue ( struct queue *, struct plane ) ; struct plane delqueue ( struct queue * ) ; int size ( struct queue ) ; int empty ( struct queue ) ; int full ( struct queue ) ; void initqueue ( struct queue *pq ) { pq -> count = 0 ; pq -> front = 0 ; pq -> rear = -1 ; } void addqueue ( struct queue *pq, struct plane item ) { if ( pq -> count >= MAX ) { printf ( "\nQueue is full.\n" ) ; return ; } ( pq -> count )++ ; pq -> rear = ( pq -> rear + 1 ) % MAX ; pq -> p[pq -> rear] = item ; } struct plane delqueue ( struct queue *pq ) { struct plane p1 ; if ( pq -> count <= 0 ) { printf ( "\nQueue is empty.\n" ) ; p1.id = 0 ; p1.tm = 0 ; } else { ( pq -> count )-- ; p1 = pq -> p[pq -> front] ; pq -> front = ( pq -> front + 1 ) % MAX ; } return p1 ; } int size ( struct queue q ) { return q.count ; } int empty ( struct queue q ) { return ( q.count <= 0 ) ; } int full ( struct queue q ) { return ( q.count >= MAX ) ; } struct airport { struct queue landing ; struct queue takeoff ; struct queue *pl ; struct queue *pt ; int idletime ; int landwait, takeoffwait ; int nland, nplanes, nrefuse, ntakeoff ; struct plane pln ; } ; void initairport ( struct airport * ) ; void start ( int *, double *, double * ) ; void newplane ( struct airport *, int, int ) ; void refuse ( struct airport *, int ) ; void land ( struct airport *, struct plane, int ) ; void fly ( struct airport *, struct plane, int ) ; void idle ( struct airport *, int ) ; void conclude ( struct airport *, int ) ; int randomnumber ( double ) ; void apaddqueue ( struct airport *, char ) ; struct plane apdelqueue ( struct airport *, char ) ; int apsize ( struct airport, char ) ; int apfull ( struct airport, char ) ; int apempty ( struct airport, char ) ; void myrandomize ( ) ; void initairport ( struct airport *ap ) { initqueue ( &( ap-> landing ) ) ; initqueue ( &( ap -> takeoff ) ) ; ap -> pl = &( ap -> landing ) ; ap -> pt = &( ap -> takeoff ) ; ap -> nplanes = ap -> nland = ap -> ntakeoff = ap -> nrefuse = 0 ; ap -> landwait = ap -> takeoffwait = ap -> idletime = 0 ; } void start ( int *endtime, double *expectarrive, double *expectdepart ) { int flag = 0 ; char wish ; printf ( "\nProgram that simulates an airport with only one runway.\n" ) ; printf ( "One plane can land or depart in each unit of time.\n" ) ; printf ( "Up to %d planes can be waiting to land or take off at any time.\n", MAX ) ; printf ( "How many units of time will the simulation run?" ) ; scanf ( "%d", endtime ) ; myrandomize( ) ; do { printf ( "\nExpected number of arrivals per unit time? " ) ; scanf ( "%lf", expectarrive ) ; printf ( "\nExpected number of departures per unit time? " ) ; scanf ( "%lf", expectdepart ) ; if ( *expectarrive < 0.0 || *expectdepart < 0.0 ) { printf ( "These numbers must be nonnegative.\n" ) ; flag = 0 ; } else { if ( *expectarrive + *expectdepart > 1.0 ) { printf ( "The airport will become saturated. Read new numbers? " ) ; fflush ( stdin ) ; scanf ( "%c", &wish ) ; if ( tolower ( wish ) == 'y' ) flag = 0 ; else flag = 1 ; } else flag = 1 ; } } while ( flag == 0 ) ; } void newplane ( struct airport *ap, int curtime, int action ) { ( ap -> nplanes )++ ; ap -> pln.id = ap -> nplanes ; ap -> pln.tm = curtime ; switch ( action ) { case ARRIVE : printf ( "\n" ) ; printf ( "Plane %d ready to land.\n", ap -> nplanes ) ; break ; case DEPART : printf ( "\nPlane %d ready to take off.\n", ap -> nplanes ) ; break ; } } void refuse ( struct airport *ap, int action ) { switch ( action ) { case ARRIVE : printf ( "\tplane %d directed to another airport.\n", ap -> pln.id ) ; break ; case DEPART : printf ( "\tplane %d told to try later.\n", ap -> pln.id ) ; break ; } ( ap -> nrefuse )++ ; } void land ( struct airport *ap, struct plane pl, int curtime ) { int wait ; wait = curtime - pl.tm ; printf ( "%d: Plane %d landed ", curtime, pl.id ) ; printf ( "in queue %d units \n", wait ) ; ( ap -> nland ) ++ ; ( ap -> landwait ) += wait ; } void fly ( struct airport *ap, struct plane pl, int curtime ) { int wait ; wait = curtime - pl.tm ; printf ( "%d: Plane %d took off ", curtime, pl.id ) ; printf ( "in queue %d units \n", wait ) ; ( ap -> ntakeoff )++ ; ( ap -> takeoffwait ) += wait ; } void idle ( struct airport *ap, int curtime ) { printf ( "%d: Runway is idle.\n", curtime ) ; ap -> idletime++ ; } void conclude ( struct airport *ap, int endtime ) { printf ( "\tSimulation has concluded after %d units.\n", endtime ) ; printf ( "\tTotal number of planes processed: %d\n", ap -> nplanes ) ; printf ( "\tNumber of planes landed: %d\n", ap -> nland ) ; printf ( "\tNumber of planes taken off: %d\n", ap -> ntakeoff ) ; printf ( "\tNumber of planes refused use: %d\n", ap -> nrefuse ) ; printf ( "\tNumber left ready to land: %d\n", apsize ( *ap, 'l' ) ) ; printf ( "\tNumber left ready to take off: %d\n", apsize ( *ap, 't' ) ) ; if ( endtime > 0 ) printf ( "\tPercentage of time runway idle: %lf \n", ( ( double ) ap -> idletime / endtime ) * 100.0 ) ; if ( ap -> nland > 0 ) printf ( "\tAverage wait time to land: %lf \n", ( ( double ) ap -> landwait / ap -> nland ) ) ; if ( ap -> ntakeoff > 0 ) printf ( "\tAverage wait time to take off: %lf \n", ( ( double ) ap -> takeoffwait / ap -> ntakeoff ) ) ; } int randomnumber ( double expectedvalue ) { int n = 0 ; double em ; double x ; em = exp ( -expectedvalue ) ; x = rand( ) / ( double ) INT_MAX ; while ( x > em ) { n++ ; x *= rand( ) / ( double ) INT_MAX ; } return n ; } void apaddqueue ( struct airport *ap, char type ) { switch ( tolower( type ) ) { case 'l' : addqueue ( ap -> pl, ap -> pln ) ; break ; case 't' : addqueue ( ap -> pt, ap -> pln ) ; break ; } } struct plane apdelqueue ( struct airport *ap, char type ) { struct plane p1 ; switch ( tolower ( type ) ) { case 'l' : p1 = delqueue ( ap -> pl ) ; break ; case 't' : p1 = delqueue ( ap -> pl ) ; break ; } return p1 ; } int apsize ( struct airport ap, char type ) { switch ( tolower ( type ) ) { case 'l' : return ( size ( *( ap.pl ) ) ) ; case 't' : return ( size ( *( ap.pt ) ) ) ; } return 0 ; } int apfull ( struct airport ap, char type ) { switch ( tolower ( type ) ) { case 'l' : return ( full ( *( ap.pl ) ) ) ; case 't' : return ( full ( *( ap.pt ) ) ) ; } return 0 ; } int apempty ( struct airport ap, char type ) { switch ( tolower ( type ) ) { case 'l' : return ( empty ( *( ap.pl ) ) ) ; case 't' : return ( empty ( *( ap.pt ) ) ) ; } return 0 ; } void myrandomize( ) { srand ( ( unsigned int ) ( time ( NULL ) % 10000 ) ) ; } void main( ) { struct airport a ; int i, pri, curtime, endtime ; double expectarrive, expectdepart ; struct plane temp ; clrscr( ) ; initairport ( &a ); start ( &endtime, &expectarrive, &expectdepart ) ; for ( curtime = 1 ; curtime <= endtime ; curtime++ ) { pri = randomnumber ( expectarrive ) ; for ( i = 1 ; i <= pri ; i++ ) { newplane ( &a, curtime, ARRIVE ) ; if ( apfull ( a, 'l' ) ) refuse ( &a, ARRIVE ) ; else apaddqueue( &a, 'l' ) ; } pri = randomnumber ( expectdepart ) ; for ( i = 1 ; i <= pri ; i++ ) { newplane ( &a, curtime, DEPART ) ; if ( apfull ( a, 't' ) ) refuse ( &a, DEPART ) ; else apaddqueue ( &a, 't' ) ; } if ( ! ( apempty ( a, 'l' ) ) ) { temp = apdelqueue ( &a, 'l' ) ; land ( &a, temp, curtime ) ; } else { if ( ! ( apempty ( a, 't' ) ) ) { temp = apdelqueue ( &a, 't' ) ; fly ( &a, temp, curtime ) ; } else idle ( &a, curtime ) ; } } conclude ( &a, endtime ) ; getch( ) ; } Result: Total number of planes processed Number of planes landed : Number of planes taken off : Number of planes refused use : Number of planes left ready to land : Number of planes left ready to take off : Percentage of time the runway was idle : Average wait time to land : Average wait time to take off : Date: Signature of Instructor EXERCISE NO : 17 car garage simulation Learning Objectives: To learn about: To know how to apply de-queue. Problem Description: Suppose Fundu Parking Garage contains 10 parking lanes, each with a capacity to hold 10 cars at a time. As each car arrives/departs, the values A/D (representing arrival /departure) is entered along with the car registration number. If a car is departing the data should get updated. If a new car is arriving then on the screen a message should be displayed indicating suitable parking slot for the car. Cars arrive at the south end of the garage and leave from the north end. If a customer arrives to pick up a car that is not the nothernmost, all cars to the north of the car are moved out, the car is driven out, and the other cars are restored in the same order that they were in originally. Whenever a car leaves, all cars to the south are moved forward so that at all times all the empty spaces are in the south part of the garage. Write a program that implements this parking system. Input: Enter data about the car. Output: Display how those cars are arranged in garage will be displayed. /* a car garage simulation using de-queue (link list implementation) */ #include #include #include #include #define TOP 1 #define BOT 2 struct node { char plate [15] ; struct node *link ; } *front[5], *rear[5] ; char plate[15], temp[15] ; int i ; void add_dq ( struct node**, struct node**, int, char* ) ; char* del_dq ( struct node**, struct node**, int ) ; void push ( struct node**, char* ) ; char* pop ( struct node** ) ; void q_display ( struct node * ) ; void main( ) { char ad ; int s, lane = -1, min, lc ; clrscr( ); while ( 1 ) { for ( i = 0 ; i < 5 ; i++ ) { printf( "lane %d: ", i ) ; q_display ( front[i] ) ; } printf( "\nArrival/Departure/Quit? ( A/D/Q ): " ) ; ad = getch( ) ; if ( toupper ( ad ) == 'Q' ) exit ( 1 ) ; printf ( "\nEnter license plate num:" ) ; gets ( plate ) ; ad = toupper ( ad ) ; if ( ad == 'A' ) /* arrival of car */ { lane = -1 ; /* assume no lane is available */ min = 10 ; for ( i = 0 ; i < 5 ; i++ ) { s = count ( front[i] ) ; if ( s < min ) { min = s ; lane = i ; } } if ( lane == -1 ) printf ( "\nNo room available" ) ; else { add_dq ( &front[ lane ], &rear[ lane ], BOT, plate ) ; printf ( "\npark car at lane %d slot %d\n", lane, s ) ; } } else { if ( ad == 'D' ) /* departure of car */ { for ( i = 0 ; i < 5 ; ++i ) { s = search ( front[i], plate ) ; if ( s != -1 ) { lane = i ; break ; } } if ( i == 5 ) printf ( "\nno such car!!\n" ) ; else { printf ( "\ncar found at lane %d slot %d\n", lane, s ) ; del_dq ( &front[ lane ], &rear[ lane ], s ) ; } } else if ( ad == 'Q' ) exit ( 1 ) ; } } } /* adds a new element at the end of queue */ void add_dq ( struct node **f, struct node **r, int tb, char *p ) { struct node *q ; /* create new node */ q = ( struct node * ) malloc ( sizeof ( struct node ) ) ; strcpy ( q -> plate, p ) ; q -> link = NULL ; /* if the queue is empty */ if ( *f == NULL ) *f = q ; else { if ( tb == BOT ) ( *r ) -> link = q ; else { q -> link = *f ; *f = q ; return ; } } *r = q ; } char* del_dq ( struct node **f, struct node **r, int n ) { struct node *q, *top = NULL ; /* if queue is empty */ if ( *f == NULL ) printf ( "queue is empty" ) ; else { if ( n == 0 ) { strcpy ( temp, ( *f ) -> plate ) ; q = *f ; *f = ( *f ) -> link ; free ( q ) ; return temp ; } /* locate node */ for ( i = 0 ; i < n ; i++ ) { /* drive out cars */ push ( &top, ( *f ) -> plate ) ; /* delete the node */ q = *f ; *f = q -> link ; free ( q ) ; } /* delete the nth node */ q = *f ; *f = q -> link ; free ( q ) ; for ( i = 0 ; i < n ; i++ ) { strcpy ( temp, pop ( &top ) ) ; /* add the node */ add_dq ( f, r, TOP, temp ) ; } } } int count ( struct node *q ) { int c = 0 ; /* traverse the entire linked list */ while ( q!= NULL ) { q = q -> link ; c++ ; } return c ; } int search ( struct node *q, char *p ) { int s = -1, c = 0 ; while ( q != NULL ) { if ( strcmp ( p, q -> plate ) == 0 ) { s = c ; break ; } else { q = q -> link ; c++ ; } } return ( s ) ; } /* adds a new element to the top of stack */ void push ( struct node **s, char* item ) { struct node *q ; q = ( struct node* ) malloc ( sizeof ( struct node ) ) ; strcpy ( q -> plate, item ) ; q -> link = *s ; *s = q ; } /* removes an element from top of stack */ char* pop ( struct node **s ) { struct node *q ; /* if stack is empty */ if ( *s == NULL ) { return NULL ; } else { q = *s ; strcpy ( temp, q -> plate ) ; *s = q -> link ; free ( q ) ; return ( temp ) ; } } void q_display ( struct node *q ) { while( q != NULL ) { printf ( "%s", q -> plate ) ; q = q -> link ; } printf ( "\n" ) ; } Result: Shows how cargarage is maintained Date: Signature of Instructor EXERCISE NO : 18 simulate a dictionary Learning Objectives: To learn about: To know how to apply Linked list and Linear search . Problem Description: Write a program to simulate a dictionary using linked list. It should be a menu driven program with the options for adding a word and its meanings, searching a word and displaying the dictionary. Steps to develop the program are as given below: 1. Declare a structure with the fields as - a word, - meaning of a word - counter that holds the number of meanings - link to the next node. Each word added to the list can have maximum 5 meaning(s). Hence, variable used to store meaning(s) of a word would be a two dimensional character array. 2. The program should have following menu. - Add a word - Search for a word - Show dictionary - Exit Input: Enter a word and their meaning to register a word in the dictionary. Output: Display the meaning of the word by entering a word. /* Dictionary with Linear search implementation*/ #include #include #include #include #include #include struct node { char data [ 20 ] ; char m [ 5 ] [ 20 ] ; int mcount ; struct node * link ; } ; struct node * dic [ 26 ] ; void add ( char * ) ; int search ( char * ) ; void show( ) ; void deldic( ) ; void main( ) { char word [ 20 ] , ch ; int i ; clrscr( ) ; while ( 1 ) { clrscr( ) ; printf ( "\n\t\tDictionary\n" ) ; printf ( "\n\t\t1.Add Word.\n" ) ; printf ( "\t\t2.Search Word.\n" ) ; printf ( "\t\t3.Show Dictionary.\n" ) ; printf ( "\t\t0.Exit." ) ; printf ( "\n\n\t\tYour Choice ") ; scanf ( "%d", &ch ) ; switch ( ch ) { case 1 : printf ( "\nEnter any word : " ) ; fflush ( stdin ) ; gets ( word ) ; add ( word ) ; break ; case 2 : printf ( "\nEnter the word to search : " ) ; fflush ( stdin ) ; gets ( word ) ; i = search ( word ) ; if ( ! i ) printf ( "Word does not exists." ) ; getch( ) ; break ; case 3 : show( ) ; getch( ) ; break ; case 0 : deldic( ) ; exit ( 0 ) ; default : printf ( "\nWrong Choice" ) ; } } } void add ( char * str ) { int i, j = toupper ( str [ 0 ] ) - 65 ; struct node * r, * temp = dic [ j ], * q ; char mean [ 5 ] [ 20 ], ch = 'y' ; i = search ( str ) ; if ( i ) { printf ( "\nWord already exists." ) ; getch( ) ; return ; } q = ( struct node * ) malloc ( sizeof ( struct node ) ) ; strcpy ( q -> data, str ) ; q -> link = NULL ; for ( i = 0 ; tolower ( ch ) == 'y' && i < 5 ; i++ ) { fflush ( stdin ) ; printf ( "\n\nEnter the meaning(s) : " ) ; gets ( mean [ i ] ) ; strcpy ( q -> m [ i ] , mean [ i ] ) ; if ( i != 4 ) printf ( "\nAdd more meanings (y/n) " ) ; else printf ( "You cannot enter more than 5 meanings." ) ; fflush ( stdin ) ; ch = getche( ) ; } q -> mcount = i ; if ( dic [ j ] == NULL || strcmp ( dic [ j ] -> data, str ) > 0 ) { r = dic [ j ] ; dic [ j ] = q ; q -> link = r ; return ; } else { while ( temp != NULL ) { if ( ( strcmp ( temp -> data, str ) < 0 ) && ( ( strcmp ( temp -> link -> data, str ) > 0 ) || temp -> link == NULL ) ) { q -> link = temp -> link ; temp -> link = q ; return ; } temp = temp -> link ; } } } int search ( char *str ) { struct node *n ; char temp1 [ 20 ] ; char temp2 [ 20 ] ; int i ; n = dic [ toupper ( str [ 0 ] ) - 65 ] ; strcpy ( temp2, str ) ; strupr ( temp2 ) ; while ( n != NULL ) { strcpy ( temp1, n -> data ) ; if ( strcmp ( strupr ( temp1 ), temp2 ) == 0 ) { printf ( "\n%s\t\t%s", n -> data, n -> m [ 0 ] ) ; for ( i = 1 ; i < n -> mcount ; i++ ) printf ( "\n\t\t%s", n -> m [ i ] ) ; return 1 ; } n = n -> link ; } return 0 ; } void show( ) { struct node *n ; int i, j ; printf ( "Word\t\tMeaning\n" ) ; for ( i = 0 ; i <= 30 ; i++ ) printf ( "-" ) ; for ( i = 0 ; i <= 25 ; i++ ) { n = dic [ i ] ; while ( n != NULL ) { printf ( "\n%s\t\t%s", n -> data, n -> m [ 0 ] ) ; for ( j = 1 ; j < n -> mcount ; j++ ) printf ( "\n\t\t%s", n -> m [ j ] ) ; n = n -> link ; } } } void deldic( ) { struct node *n, *t ; int i ; for ( i = 0 ; i <= 25 ; i++ ) { n = dic [ i ] ; while ( n != NULL ) { t = n -> link ; free ( n ) ; n = t ; } } } Result: Shows meaning of the word that was added by end user in their dictionary. Date: Signature of Instructor EXERCISE NO : 19 Duplicate file finder Learning Objectives: To learn about: To know how to apply Binary search . Problem Description: When the hard disk is new the files and directories are properly organized. As the hard disk grows old, some laxity sets in and one tends to create files with duplicate names in different directories. Write a program to locate these duplicate filenames. Input: Takes data from the system directory. Output: Display the duplicate files with their path. /* Program to find files with duplicate names using binary search tree */ #include #include #include #include #include #include struct btreenode { struct btreenode *leftchild ; char data[13] ; /* file name */ char *loc ; /* location of filename */ struct btreenode *rightchild ; } *bt = NULL ; void disktree( ) ; int insert ( struct btreenode **, char*, char* ) ; void main( ) { char current_dir[32] ; clrscr( ) ; getcwd ( current_dir, 32 ) ; chdir ( "\\" ) ; disktree( ) ; chdir ( current_dir ) ; getch( ) ; } void disktree( ) { struct ffblk file ; int flag ; char loc[80] ; getcwd ( loc, 80 ) ; flag = findfirst ( "*.*", &file, FA_NORMAL | FA_RDONLY | FA_HIDDEN | FA_SYSTEM | FA_LABEL | FA_DIREC | FA_ARCH ) ; while ( flag == 0 ) { if ( file.ff_name[0] != '.' ) { if ( file.ff_attrib == FA_DIREC && file.ff_fsize == 0 ) { chdir ( file.ff_name ) ; disktree( ) ; chdir ( loc ) ; } else insert ( &bt, loc, file.ff_name ) ; } flag = findnext ( &file ) ; } } /* inserts a new node in a binary search tree */ int insert ( struct btreenode **sr, char* l, char* f ) { char *p ; int flag ; if ( *sr == NULL ) { *sr = ( struct btreenode * ) malloc ( sizeof ( struct btreenode ) ) ; if ( *sr == NULL ) { printf ( "\nOut of memory." ) ; exit ( 1 ) ; } ( *sr ) -> leftchild = NULL ; ( *sr ) -> rightchild = NULL ; strcpy ( ( *sr ) -> data, f ) ; p = ( char * ) malloc ( ( strlen ( l ) + 1 ) ) ; if ( p == NULL ) { printf ( "\nOut of memory." ) ; exit ( 1 ) ; } strcpy ( p, l ) ; ( *sr ) -> loc = p ; } else { flag = strcmp ( ( *sr ) -> data, f ) ; if ( flag == 0 ) { printf ( "org: %s", ( *sr ) -> loc ) ; if ( strlen ( ( *sr ) -> loc ) > 4 ) printf ( "\\" ) ; printf ( "%s\n", ( *sr ) -> data ) ; printf ("dup: %s", l ) ; if ( strlen ( l ) > 4 ) printf ( "\\" ) ; printf ( "%s\n\n", f ) ; } else if ( flag < 0 ) insert ( &( ( *sr ) -> leftchild ), l, f ) ; else insert ( &( ( *sr ) -> rightchild ), l, f ) ; } return ; } Result: Shows List of files on console that was having duplicate files. Date: Signature of Instructor EXERCISE NO : 20 Sorting of a records Learning Objectives: To learn about: To know how to apply Binary search . Problem Description: Write a program that asks user an ID, name, age and salary of 5 employees. Store all the ID's into one array and sort the array in asscending order. Now to display the records in asscending order search for each elements from the array into records and display the corresponding records. Input: Enter record details user id , age, and salry of 5 employees. Output: Display the records in asscending order search for each elements from the array into records and display the corresponding records /* Sorting of a structure on names using bubble sort */ #include #include void main( ) { struct emp { char empid[7] ; char name[25] ; int age ; float sal ; } ; int i, j ; struct emp e[5] ; char id[5][7], temp[7] ; float ff ( float ) ; clrscr( ) ; printf ( "Enter empid, name, age and salary :-\n") ; for ( i = 0 ; i <= 4 ; i++ ) { scanf ( "%s %s %d %f", e[i].empid, e[i].name, &e[i].age, &e[i].sal ) ; strcpy ( id[i], e[i].empid ) ; } for ( i = 0 ; i <= 3 ; i++ ) { for ( j = 0 ; j <= 3 - i ; j++ ) { if ( strcmp ( id[j], id[j + 1] ) > 0 ) { strcpy ( temp, id[j] ) ; strcpy ( id[j], id[j + 1] ) ; strcpy ( id[j + 1], temp ) ; } } } printf ( "\nRecords after sorting") ; printf ( "\nName, age and salary after sorting :-\n") ; for ( i = 0 ; i <= 4 ; i++ ) { for ( j = 0 ; j <= 4 ; j++ ) { if ( strcmp( id[i], e[j].empid ) == 0 ) printf ( "%s %s %d %f\n", e[j].empid, e[j].name, e[j].age, e[j].sal ) ; } } getch( ) ; } float ff ( float f ) { float *f1 = &f ; return *f1 ; } Result: Shows Sorted records in ascending order Date: Signature of Instructor     PAGE   PAGE \* MERGEFORMAT 33 %,789K‡Ž„±²³“µ·ø¹ÓäłśūüóęÖĘ¹Ę°¤ œ ˜ ˜‚Ę°y°p ˜ iWGh.X“hŽk›5OJQJ]^J#h­-JhŽk›6CJOJQJ^JaJ hŹJ0hŽk›hŽk›6OJQJh¤;6OJQJh­-JhX ż6OJQJ^JhP_¾hX ż6hŹJ0hŽk›hłyühØ8ÜhX ż6OJQJh2\?6OJQJh¤;56OJQJ^Jh.X“hX ż56OJQJ^Jh.X“hX ż5OJPJQJ^Jh¤;5OJPJQJ^JhŠN56OJQJ^J-6÷źŽŽŅĘ $$Ifa$gd m $$Ifa$gd¤; $$Ifa$gd m „@ „Š^„@ `„ŠgdŠN$a$gdŽ.ģ679²³nbNB $$Ifa$gd­-J$ ĘZ¤d¤d$Ifa$gdŹJ0 $$Ifa$gd2\?kd$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+³“¹śūn_K? $$Ifa$gd­-J$ ĘZ¤d¤d$Ifa$gdŹJ0 Ęį{$Ifgd2\?kd³$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+ūüž? @ nbNB $$Ifa$gd­-J$ ĘZ¤d¤d$Ifa$gdŹJ0 $$Ifa$gd mkdf$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+üżž + > ? @ A D E _ n o  œ  ž Ÿ   ¢ £ µ ø ß ą ć õ ö ÷ ų ś ū öźęāęŪɹöźęµę±­±„ɹö™ę•ā•‘•‰wg^RhØ8Üh³Ķ6OJQJh³Ķ6OJQJh.X“h„d05OJQJ]^J#h­-Jh„d06CJOJQJ^JaJhØ8Üh„d06hõ2Gh„d0hØ8Üh„d06OJQJhP_¾hX ż6h2\?hŽk›hcŻh.X“hX ż56OJQJ^J#h­-JhX ż6CJOJQJ^JaJ hŹJ0hX żhŹJ0h{i9hØ8ÜhX ż6OJQJh2\?6OJQJ @ A E ž Ÿ n_OC $$Ifa$gd­-J$¤d¤d$Ifa$gdcŻ Ę’{$Ifgd2\?kd$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+Ÿ   £ ö ÷ nbRF $$Ifa$gd­-J$¤d¤d$Ifa$gdŹJ0 $$Ifa$gd mkdĢ$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+÷ ų ū > l m k_RB6 $$Ifa$gd­-J$¤d¤d$Ifa$gdk v ¤d¤d$Ifgd=kL $$Ifa$gd m”kd$$If–l4Ö”DÖF“ƒwį Ļō`j t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö ytŖs@ū > ? H L M k l m n o p { ‚ ¢ Ø © Æ ° ³ “ µ ¶ · ø ¹ Ä Ė ė ń ņ ų ł ü ż ž ’    7 8 9 : < = H N O b i n › üųōųōųōķŪĖĀ¶²üųüųüųüųŖŪĖĀ¶²üųüųüųüųŖŪšĀ¶²üų“ŪĖĀ¶²üŒ“ų“ü hØ8Üh{i9 hØ8Üh³Ķh.X“h³Ķ5OJQJ]^JhØ8Üh³Ķ6hŹJ0hØ8Üh³Ķ6OJQJh³Ķ6OJQJh.X“h³Ķ56OJQJ^J#h­-Jh³Ķ6CJOJQJ^JaJ h˜+Yh³Ķhk vh³Ķh{i97m n p µ ¶ k_RF $$Ifa$gd­-J ¤d¤d$IfgdŹJ0 $$Ifa$gd m”kdL$$If–l4Ö”XÖF“ƒwį Ļō j t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yt‡.¶ · ¹ ž ’ maTH $$Ifa$gd­-J ¤d¤d$IfgdŹJ0 $$Ifa$gd m’kd $$If–l4ÖÖF“ƒwį Ļō`j t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+’  8 9 maQE $$Ifa$gd­-J$¤d¤d$Ifa$gdŹJ0 $$Ifa$gd m’kdĘ$$If–l4ÖÖF“ƒwį Ļō j t Ö0ö6ööÖ ’’’Ö ’’’Ö ’Ö ’’’4Ö4Ö laö yt‡.9 : = ­ ® nbOC $$Ifa$gd­-J Ę€¤š¤d$IfXDdgd{i9 $$Ifa$gd mkd$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö Ö ’’’4Ö4Ö laö ytŹJ0› ¬ ­ ® Æ ± ² ½ Ć Ä ź ż ž " # $ % ' ( } ~  € „ ³ µ ¶ ŗ ü ż ž    łņąŠĒ»·³Æ³·³Æ§ąŠž’·Šxhž·xhž·xX·ž·h.X“hŹJ05OJQJ]^Jh.X“hŹJ056OJQJ^J#h­-JhŹJ06CJOJQJ^JaJhØ8ÜhŹJ06hØ8ÜhŹJ06OJQJhŹJ06OJQJhØ8Üh³Ķ6h³Ķh{i9hŹJ0hØ8Üh³Ķ6OJQJh³Ķ6OJQJh.X“h³Ķ5OJQJ]^J#h­-Jh³Ķ6CJOJQJ^JaJ h—` h³Ķ hØ8Üh³Ķ!® Æ ² # $ nbOC $$Ifa$gd­-J Ę€¤š¤d$IfXDdgdŹJ0 $$Ifa$gd mkdl$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö ytŹJ0$ % ( ~  nbRF $$Ifa$gd­-J$¤d¤d$Ifa$gdŹJ0 $$Ifa$gd mkd-$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yt‡. € „ ³ “ µ nbOCC $$Ifa$gd­-J Ę€¤š¤d$IfXDdgdŹJ0 $$Ifa$gd mkdą$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+µ ¶ ŗ ü ż maNB $$Ifa$gd­-J Ę€¤š¤d$IfXDdgd§ $$Ifa$gd m’kd“ $$If–l4ÖÖF“ƒwį Ļō`j t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+ż ž  ' ( maNB $$Ifa$gd­-J Ę€¤š¤d$IfXDdgd§ $$Ifa$gd m’kdN $$If–l4ÖÖF“ƒwį Ļō j t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+  ' ( ) - C U W g h i j n o v … ™ š › ¤ ¶ · ø ¹ ŗ » ¼ ¾ æ Ą Ö × ß ą į ā ė ģ    "üųęÖųČŗČŗųęŖœųü˜‘˜‘ų‘ų‘ų‘ęÖų˜ų†{œ{œ{œ†œŗęŖų˜ų˜hŹJ06OJQJ]hMÜ6OJQJ] h2—hŹJ0hMÜh2—hŹJ06OJQJ]h.X“hŹJ05OJQJ]^JhMÜhŹJ06OJQJ]hMÜh§6OJQJ]h.X“hŹJ056OJQJ^J#h­-JhŹJ06CJOJQJ^JaJhŹJ0h§.( ) - W h i nbYYM $$Ifa$gd­-J $IfgdMÜ $$Ifa$gd mkd $$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+i j n o ¹ ŗ » nbYYYM $$Ifa$gd­-J $Ifgd2— $$Ifa$gd mkd¼ $$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+» ¼ Ą nbYM $$Ifa$gd­-J $Ifgd2— $$Ifa$gd mkdo $$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+  klnbYL@ $$Ifa$gd­-J Ę $Ifgd¹FĘ $Ifgd2— $$Ifa$gd mkd" $$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+"+8jklmoprˆ”›“µ¶·ø¼½ĒŹŃŌŁŚńņóüõüńßĻńĖńĖõĖõüĖńß»·¬”–¬‹}·n_XMh D£h—` 56] hgÅh—` h`~Æh—` 56;CJaJh—` h—` 56;CJaJh-bh—` 56OJQJh—` 56OJQJh4B756OJQJh¤;56OJQJh2\?56OJQJh—` h.X“hŹJ05OJQJ]^JhMÜh.X“hŹJ056OJQJ^J#h­-JhŹJ06CJOJQJ^JaJhŹJ0 h2—hŹJ0h¹FĘlmqr¶·nbUH< $$Ifa$gd­-J Ę $IfgdMÜ Ę $Ifgd2— $$Ifa$gd mkdÕ $$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+·ø¹ŗ»¼½¾æĄĮĀnffffaaaaaagd™f$a$gd—` kdˆ$$If–lÖÖF“ƒwį Ļōj t Ö0ö6ööÖ ’’’Ö ’’’Ö ’’’Ö ’’’4Ö4Ö laö yth+ ĀĆÄÅĘĒČÉŹŁŚņóLkśśśśśśśśśīęįÖÖ±Œ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd˜ f$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdš† $dąa$gd—` gd—` $a$gd—` $ ĘZa$gd—` gd™fKLjk§Ø©ŖæFHdfijuw~”“µ¶öėŻĻŻĻŻÅø±©ž‘‘q‘q‘q‘q‘aN$hLžhLžCJOJQJ^J_HJaJhLžCJOJQJ^J_HJaJh D£hLž6CJ]_HJaJh D£hLž5CJ\_HJaJh D£hLžCJ_HJaJh D£hLžCJaJh D£hLž5 h-bh—` h-bh—` 56\]h-bh˜ f\]h D£h—` CJ\]aJh D£h˜ fCJ\]aJh-bh—` 6\]h-bh—` 6]kØ©ŖæY“øŚĮcXXOOOO 7$8$H$gdLž $dha$gdLž^kd;$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytš†$„²š¤x$„ą&`#$/„“If^„²ša$gdš†$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd˜ f ¶·øčź%')*,-2378GHIJLMOPTU[]abjkv†‡ÉŹ%&,-PQSTXYZ[\bcčŲĖ»Ė»Ė®Ė®Ė®Ė®Ė®Ė®Ė®Ė®Ė®Ė®Ė®Ė®»Ė»Ė®Ė»Ė®Ė®Ė®Ė®Ė””Œ€h<"h<"5CJaJh D£h<"5h D£h<"CJ_HJaJh D£h—` CJ_HJaJh D£h^‹CJ_HJaJh D£hLž6CJ]_HJaJh D£hLžCJ_HJaJhLžCJOJQJ^J_HJaJ-jÆhLžh^‹CJOJQJU^J_HJaJ2[\²³āćż 5BCUg…‡”Ÿ°ĀĘŽóööķķķöāāāāāŚĻĻĻĻĻĻĻĻĻĻĻĻ $dha$gdłyü$a$gd—` $dha$gd—` 7$8$H$gd<" 7$8$H$gd^‹c²³ŗ»ąįāćūż 5BC\ ] ^ f ¶ · óąŲąóąČµ­¢•ˆ•ˆ­„yneYRBhOCŪhÄ\æ5OJQJ\^J h `UhÄ\æh-bhÄ\æ5CJaJhÄ\æ5CJaJh D£hW]’CJaJh D£h2\?CJaJh—` h D£hv):CJ_HJaJh D£h—` CJ_HJaJh-bh—` CJaJh D£h—` 5$h^‹h^‹CJOJQJ^J_HJaJh<"CJOJQJ^J_HJaJh D£h<"5$h<"h<"CJOJQJ^J_HJaJh D£h<"CJ_HJaJóōöNx”°³ĘåžGcwŒ“”Ʊ²ÖŲ ;Wōōōōōōōōōōōōōōōōōōōōōōōōōōōō $dha$gdłyüWZo‹©Źń )+OQsu¦ØŹś"2^wŽ”„Čōōōōōōōōōōōōōōōōōōōōōōōōōōōō $dha$gdłyüČž8m’–øķ!Y‚†©ąHwyœžĢ!%?`Šōōōōōōōōōōōōōōōōōōōōōōōōōōōō $dha$gdłyüŠ§¼ŃÖŽś.48SUVbd|‘›¶ĘźūXōōōōōōōōōōōōōōōōōōōōōōōōōōōō $dha$gdłyü®×;O]`¢Āįó' * Y [ ] ^ f v œ ¶ · ø ōōōōōōōōōōōōōōōōōōååŻŻŻŻŻ$a$gdÄ\æ$ Ę8dha$gdÄ\æ $dha$gdłyüø ¹ ŗ » !!*!+!5!6!K![!x!†!”!÷÷÷÷÷ņꎣĪĪ©©„$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdåq„$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdMC $dąa$gdą’gdą’$a$gdc› $ ĘZa$gdgÅgdW]’$a$gdÄ\æ· ¹ » !!!!"!%!'!(!)!*!+!4!5!6!K!Z![!w!óćÖČŗćƤ–‹Æ–‡xibUK@4håq„hMCCJ\]h-bhą’6\]h-bhą’6]håq„hą’56]aJ hgÅhą’h`~ÆhgÅ56;CJaJh`~Æhc›56;CJaJhgÅh™f56OJQJh-bhą’56OJQJh`~Æ56OJQJh2\?56OJQJhOCŪhÄ\æOJQJ\^JhsnhÄ\æ5OJQJ^JhOCŪhÄ\æOJQJ^JhOCŪhÄ\æ5OJQJ\^JhÄ\æ5OJQJ\^Jw!x!“!”!•!–!—!¬!µ!-"="ˆ""Ž"š"f%g%h%n%o%–%—%ōčÜĻČĮ·ŖžŖž’…x’žlbV’FhåCJOJQJ^J_HJaJh<"hå5CJaJhåq„hå5aJhåq„h-bCJ\]håq„hå5CJ\]håq„hµg'5CJ\]håq„håCJ\]håq„hšyČCJ\]håq„hšyČ5CJ\]håq„hšyČ5aJ håq„5aJ h-bhą’h-bhą’56\]håq„hMCCJ\]håq„h&CJ\]håq„hą’CJ\]”!•!–!—!¬!*"ˆ"h%—%˜%Ļ%ęˆ}}rrrii^ $dha$gdå 7$8$H$gdå $dha$gdą’ $dha$gdšyČ^kd·F$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytMC$„²š¤x$„ą&`#$/„“If^„²ša$gdMC —%˜%Ÿ% %Ķ%Ī%Ļ%Š%č%é%ź%"&.&/&Ņ&Ó&Č'ć'·)¹)Œ++ķćķ×Ē·°¦”‹uj_jPjHj?hÄ\æ5CJaJh~ĀCJaJhåq„h66CJaJmHsHhåq„h¤;CJaJhåq„h66CJaJh-bhOCŪ5CJaJhåq„h665aJhåq„h™fCJhåq„hą’aJhåq„hiHaJhåq„hiH5aJ håq„5aJhšyČCJOJQJ^J_HJaJhåCJOJQJ^J_HJaJhåq„håCJ\]håq„hå5aJ$h<"håCJOJQJ^J_HJaJĻ%Š%ź%ö%&"&/&A&S&x&&ø&Ņ&Ó&ß&į&õ&’&'.'L'`'€'‘' 'ōōéééŽÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ$a$gd66 $dha$gdG2 $dha$gd™f $dha$gdą’ '¢'Č'Ų'ć'( ("(-(/(7(J(R(Z(m(u(…(¬(®(·(¹(Ņ(Ō(Ū()),).)H)÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gd66H)J)X)k)m)€)Ž))›)¦)±)³)µ)·)ø)¹)Ż)ß)ķ)ž)*****!*#*/*P*÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gd66P*U*z*|* *¢*·*Ć*Ń*Ó*ā*ņ*ō*+++,+6+J+T+W+b+Š+Œ++•+į+÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷ččą$a$gdą’$ Ę8dha$gdą’$a$gd66+•+ą+į+ā+ć+ä+6,M,N,O,P,a,b,‹,Œ,ŗ,»,ń,÷,ų,ł,--.-/-5-8-óģāÕŵؚŒÅóuģmģmģfģmģm[PEh`~Æ56OJQJh2\?56OJQJh¼/\56OJQJ h-bh -1h-bhG2\h-bhG25>*hu5„5OJQJ\^JhOCŪhą’OJQJ\^Jhsnhą’5OJQJ^JhOCŪhą’OJQJ^JhOCŪhą’5OJQJ\^JhOCŪhu5„5OJQJ\^Jhą’5OJQJ\^Jh-bhą’5\ h-bhG2h-bhą’5CJaJį+ā+ć+ä+N,O,P,a,b,Œ,»,ł,.-=->-F-G-\-l-|-÷÷÷÷÷÷÷÷ģģģģēß××ĢĢ§$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd|eŁ $dąa$gdgÅ$a$gd%&ó$a$gd`~ÆgdÄ\æ $ & Fa$gdG2$a$gdą’8-:-;-<-=->-E-F-G-\-k-l-{-|-‡-ˆ-‰-Š-Ÿ-.ņēÜēÕĘ·©œ’‡{ocoVOE9håq„håCJ\]håq„hå5aJ h-bhgÅh-bhgÅ56\]håq„hW4ÖCJ\]håq„hgÅCJ\]håq„h\GrCJ\]h-bhgÅ6\]h-bhgÅ6]håq„hgÅ56]aJh%&óh%&ó56CJ aJ h`~ÆhgÅ56;CJaJh`~Æh%&ó56;CJaJ h\Grh\Grh2\?56OJQJhgÅ56OJQJh-bhgÅ56OJQJ|-‡-ˆ-‰-Š-Ÿ-.Ś½¤F;; $dha$gdå^kd+G$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt|eŁ$„²š¤x$„ą&`#$/„“If^„²ša$gd|eŁ$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd|eŁ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd|eŁ.+.N2O2X2Y2Z2¬2µ2Æ5°5±5·5ø5¾5Ē5Ģ5Ļ5Ó5Ō5Õ5Ö5Ż5Ž5ę5ń5ņ5ó5ō5 6ōčŻÓČÓč¼°č§‘č°č°č°nnč°č^Thåq„hgÅ5aJhł ćCJOJQJ^J_HJaJ$h<"håCJOJQJ^J_HJaJhåCJOJQJ^J_HJaJh<"hå5CJaJhåq„hå5aJhł ć5CJaJhåq„hł ćCJ\]håq„hł ć5CJ]jĒWhåU\]håhå\]jŸGhåU\]håq„håCJ\]håq„hå5CJ].E/,1N2P2X2Z2¬2°5±5Õ5Ö5ó5ō566)6F6S6e6w6’6±6Ģ6ōōōōōōōōėėėōōąÕÕÕąÉÉÉÉÉ $„h^„ha$gd*VY $dha$gd™f $dha$gdgÅ 7$8$H$gdå $dha$gdå 6 66F6S6s8t8č;ė;ó;< <<C<D<E<G<H<Ž<„<¦<§<Ø<÷ģćŁĪĆĪŗŁ±Ø±Ÿ“ƒvfYK=ƒvhåq„hgÅOJQJ\^Jhåq„hgÅ5OJQJ^Jhåq„hgÅOJQJ^JhOCŪhåq„5OJQJ\^JhgÅ5OJQJ\^JhOCŪhgÅ5OJQJ\^Jhåq„hgÅ5CJ\håq„hgÅCJhåq„hł ćCJhåq„hQåCJhxz5CJaJhåq„hł ćCJaJhåq„h*VYCJaJhåq„hgÅ5aJhåq„h™fCJh-bhgÅCJaJhåq„hgÅaJĢ6č6ō6ł677)717<7y7œ7®7Ć7É7ż78=8V8k8r8t8€8†8­8¹8Ü8č8ż8(9óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gd*VY(9/9b9t9ˆ9¤9²9ŗ9Ē9Ė9å9ē9ī9:#:%:>:@:B:`:e:u:Œ:•:ž:¼:Į:Ń:Ü:óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gd*VYÜ:į:å:é:;;;<;D;^;a;n;‡;;Æ;¼;Å;Ō;Ł;ā;č;é;ź;ė;ó;D<óóóóóóóóóóóóóóóóóóóóääääÜ$a$gdgÅ$ Ę8dha$gdgÅ $„h^„ha$gd*VYD<E<F<G<H<¦<§<Ø<©<ŗ<»<ź<$=^=_=`=a=b=c=d=e=f=g=h=i=÷÷÷÷÷÷÷÷÷÷ģģģąŌ÷÷÷÷÷÷÷÷÷ $„Š^„Ša$gdgÅ $„Š^„Ša$gdÆtļ $ & Fa$gdgÅ$a$gdgÅØ<©<ŗ<»<Ū<č<é<ź<#=$=D=L=]=^=_=`=a=z={=}=„=‡=‰=Š=‹=Œ=šęÜÓŹÓĄŹ¶ÓŹÓĄ®¦Ÿ˜‚wl^SwShī+u56OJQJh-bhī+u56OJQJh`~Æ56OJQJh2\?56OJQJhåq„56OJQJhł ć56OJQJ h™f>*\ hgÅ>*\h-bhgÅ\h-bh}į\håq„h}įCJ\håq„hgÅCJ\håq„h}įCJhåq„hgÅCJh-bhgÅ5>*håq„hgÅ5aJhOCŪhÄ\æ5OJQJ\^Ji=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=Œ==¼=½=Ņ=ā=÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷ņņņņźźźßß $dąa$gdgÅ$a$gdlĄgd™f$a$gdgÅŒ==”=»=¼=½=Ņ=į=ā=ģ=ķ=ł=ś=ū=ü=>\>µ>¶>Ē>ļąŌÅ“§’†z†pc\RF:F:håq„hł ćCJ\]håq„håCJ\]håq„hå5aJ h-bhgÅh-bhgÅ56\]h-bhgÅ\]håq„hgÅCJ\]håq„hhyŌCJ\]h-bhgÅ6\]h-bhgÅ6]håq„hgÅ56]aJ h`~ÆhlĄ56>*CJ\aJh`~ÆhgÅ56;CJaJh2\?56;CJaJh`~ÆhlĄ56;CJaJ hlĄhgÅ56>*CJ \aJ ā=ķ=ł=ś=ū=ü=>ŚŚ½¤F; $dha$gdå^kdg$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt|eŁ$„²š¤x$„ą&`#$/„“If^„²ša$gd|eŁ$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd|eŁ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd|eŁ>¶>·>Ģ?Ķ?–@—@¦@Ö@žABźBCC,C-C.CHCTCcC€CCōééééééŪŪŪéŅŅéĒĒĒ¼¼¼Ē $dha$gd™f $dha$gdgÅ 7$8$H$gdł ć$ & F+dha$gdł ć $dha$gdł ć $dha$gdåĒ>Ń>Ķ?Ö?éBźBšBńBCCCC*C,C-C.CFCHC€CCÖCÖDµGŽGiIkI»JōčōčÜŅĘč³Ņ³č£šŽ„yp„eVeVeNeh~ĀCJaJhåq„hZÄCJaJmH sH håq„hZÄCJaJhåq„h™fCJh-bhgÅCJaJhåq„hgÅ5aJh-bhåq„5CJaJhgÅ5CJaJhł ćCJOJQJ^J_HJaJ$h<"hł ćCJOJQJ^J_HJaJh<"hł ć5CJaJhåq„hł ć5aJhåq„håCJ\]håq„hł ćCJ\]håq„hł ć5CJ]CŸC±CÖCžC>DmDŽD«D¼DČDŹDÖDßDįDėDūDE/ECEcEtEƒE…E°EĄEķEžEF÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdZÄFFFF"F$F1FBFOFWFoF|F„F•F¼F¾FĄFÉFĖFēFéFšFG&G;G=GaGcGjG÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdZÄjGuG}G“G¤GµG·GŽGąGōG’GHHH!H3H;HJHPH\H^HjHyH‡H‰H‹H—H¤H°H÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdZÄ°H¼H¾HŽHąHėHII=IBIDIYIeIgIiIjIkI™I›I¤I®I°IæIÕIķIJ J JKJ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdZÄKJMJfJvJƒJ–J»J½JŅJģJńJ K K(KBK^KxK”K°K²K³K“K¼K L L L L÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷čččąąąą$a$gdgÅ$ Ę8dha$gdgÅ$a$gdZÄ»J K²K³K“K¼KāKL L L LSLjLkLlLmLnLL€LÅLńęŻŌŹĮø¬Ÿ‚tfŸYIŹ?5håq„hDDBCJ\h-bhgÅ5>*hOCŪhåq„5OJQJ\^Jhåq„5OJQJ\^JhOCŪhgÅOJQJ\^JhsnhgÅ5OJQJ^JhOCŪhgÅOJQJ^JhOCŪhgÅ5OJQJ\^JhgÅ5OJQJ\^Jhåq„hgÅ5CJ\håq„hgÅCJhåq„hį/CJhåq„hgÅ5aJh~Ā5CJaJh’3N5CJaJhåq„hZÄCJaJhåq„hZÄCJaJmHsH L LkLlLmLnLL€LĘLēLM=M>MLMMMTMUMjMzM‘M÷÷÷÷÷÷÷ģģģģēē÷ß×ĢĢ§$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd|eŁ $dąa$gdgÅ$a$gdą’$a$gdļ`gd™f $ & F a$gdDDB$a$gdgÅÅLĘLēLMM*CJ\aJmHsH%hb2ņhżr456;CJaJmHsH%hb2ņhļ`56;CJaJmHsHhb2ņhgÅ>*\mHsHh2\?56OJQJmHsH"hb2ņhī+u56OJQJmHsHh’3N56OJQJhåq„h!X+CJ\håq„hŃ-CJ\håq„hDDBCJ\håq„hgÅCJ\M‘M¦M§MØM©MŖMæMĀMČMÜPŻPćPäPčPīPšPüPżPžP’PQQ{Q|Q}QōčōŁŠĒ½±¤±š½Ž‚±‚±xhU½Q‚ōEh-bhgÅ5CJaJhƒpI$h<"hõ2GCJOJQJ^J_HJaJhõ2GCJOJQJ^J_HJaJh4|¢h4|¢\]håq„h4|¢CJ\]h<"hõ2G5CJaJhMqhõ2G\]håq„hMq5CJ\]håq„hMqCJ\]håq„hõ2G5aJhõ2G5CJaJhåq„hgÅCJhåq„hgÅ56CJ\]håq„h¼+>CJ\]håq„hgÅCJ\]‘M§MØM©MŖMæMŻPŚĮcXXF$„ī’„Z¤x]„ī’^„Za$gdåq„ $dha$gdõ2G^kd|g$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt|eŁ$„²š¤x$„ą&`#$/„“If^„²ša$gd|eŁ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdxzŻPžP’P|Q}Q—Q£Q²QĻQÜQćQõQRR#R.R>RIRYRZR[R\RhRjRööėąąÕÕÕąąĶĶĶĶĶĶĶĶĶĶĶĶĶ$a$gd::ž $dha$gd™f $dha$gdgÅ $dha$gdõ2G 7$8$H$gdõ2G}Q•Q—QĻQÜQćQYR\R·SÖST1T²TįT$U%UeU‰U'V(V)V1VKVYV™VšV›VVõģćõŁĪĘĪ·Ī·Ī·Ī¬Ī·Ī£œ’‰€‰naQhOCŪhgÅ5OJQJ\^JhgÅ5OJQJ\^J"h"%hgÅ5CJOJQJ\^Jh"%hgÅCJh"%hötÉCJh"%hgÅ5aJ h"%5aJhxz5CJaJh"%hxzCJaJh"%h::žCJaJmHsHh~ĀCJaJh"%h::žCJaJhåq„h::ž5aJhåq„h™fCJhåq„hgÅaJhåq„hgÅ5aJjRvR€RƒR…R—R¶RŌRöR S)S:SESGSOS^SaS}S€S†S‰SŠS¶SÉSÕSTTT0T÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷ņ÷÷÷÷÷÷gd::ž$a$gd::ž0T3T6T>TFTUTrTxT{T‡T±TÅTČTąTćTęTīTöTU UUUAUCUEUOUQUdUgU÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gd::žgUtU|UU‰U‹U“U¤U¦UµUøUĄUĻUģUņUõU V!V$V'V(V)V1VšV›V÷÷÷÷ė÷÷ė÷÷÷÷÷÷÷÷÷÷÷ÜÜÜŌŌ$a$gdgÅ$ Ę8dha$gdgÅ $„Š`„Ša$gdxz$a$gd::ž›VœVVWWW W WWW?WwWX³X“XµX¼X½XŅXāX÷÷÷÷÷÷÷÷÷éééé÷ÜŌĢĮĮ $dąa$gdxz$a$gdxz$a$gdxz „@ „Š^„@ `„Šgdī+u$ & F dha$gdh+$a$gdgŝVīVWWW W WWW?WvWwWŖW«WXX¤X„X²X³X“XµX¼Xóå×ĒŗĒ°§ž•ž‹‹•wndYF%hb2ņhxz56;CJaJmHsHhjMs56OJQJh"%hgÅ>*CJh"%h9ŒCJh"%h5čCJ\h"%h9ŒCJ\h"%hg}ĘCJ\h"%h0ņCJh"%h÷ ÜCJhh+5CJaJh"%hgÅ5aJhgÅ5OJQJ\^JhOCŪhgÅ5OJQJ\^JhOCŪhgÅOJQJ\^JhsnhgÅ5OJQJ^JhOCŪhgÅOJQJ^J¼X½XŅXįXāX YYYY%Y(Y.Y}Z¶Z~[…[Š[£[§[·[»[Ķ[Ļ[ń[\\\\-\5\>\A\B\ģßÕŹ¾“§ –Š}ŠqŠqŠqŠqŠqŠqŠ–ŠhqŠqaWh4|¢h/%Ē\] hj`\]h"%CJ\]h"%hj`CJ\]h"%h/%Ē5CJ\]h"%h/%ĒCJ\]h"%h/%Ē5aJ h-bhxzh-bhxz56\]h-bhxz\]h"%hxzCJ\]h-bhxz6\]h-bhxz6]h"%hxz56]aJ%hb2ņhxz;>*CJ\aJmHsH āXųX YYYY%YŚŚ½¤F; $dha$gd/%Ē^kdšg$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt¤ Š$„²š¤x$„ą&`#$/„“If^„²ša$gd¤ Š$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd¤ Š$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd¤ Š%Y\C\D\Ā\Ć\Ż\é\ų\]"])]*]<]N]]]z]]ž]®]ŗ]¼]Ź]ķääŁĪĪĪĪĪĪÉɽ½½½½½½½½½ $„h^„ha$gdxzgdxz $dha$gdxz $dha$gd/%Ē 7$8$H$gd/%Ē$„ī’„Z¤x]„ī’^„Za$gd"%B\C\D\K\L\„\\Æ\Ą\Ā\Ć\Ū\Ż\]"])]*]ó^_s_t_v_Š_-`D`aalašŻÓĻĆ·Ć·Ļ«”˜”…«zkzk\kzkzMzh DłhxzCJaJmH sH h Dłh5čCJaJmHsHh DłhxzCJaJmHsHh DłhxzCJaJh Dłhxz5aJh"%hxzCJh"%hxzaJh"%hxz5aJh-bhxz5CJaJh"%h/%ĒCJ\]h"%hj`CJ\]h/%Ēh"%h/%Ē5aJ$h<"h/%ĒCJOJQJ^J_HJaJh/%ĒCJOJQJ^J_HJaJŹ]Ō]Ų]ź]^^2^F^f^w^‚^„^Œ^ž^»^Į^Ä^ņ^__2_]_r_Œ_œ_¤_³_Ń_×_óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdxz×_Ś_é_`,`F`O`W`c`k`|` `¢`¤`®`°`Å`Ē`Ō`Ü`ź`ó`õ`aa aa+a-aóóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdxz-a7a?aAaFaOaZa\akavaœa”aŅaŌaÕaŻaFbGbHbIb²b³b“bµb¶b·bóóóóóóóóóóóóóīß××××××××××$a$gdxz$ Ę8dha$gdxzgdvp° $„h^„ha$gdxzlaoaaƒa¢a£a»a¼aŌaÕaŻaņaóa÷abEbGbIbšb±b²b“b¶b·bĒbÉbģbcc$c,c/c:cc?c@cVcWcXcYcnc}c~c”c•cŪcźcģc’cdddõźõąĻ¾Æ؛‘†znbVMbAn4h-bhgÅ56\]h Dłh™CJ\]h DłCJ\]h Dłhh+CJ\]h DłhĒZCJ\]h DłhgÅCJ\]h Dłh5HćCJ\]h-bhĒZ6\]h-bhgÅ6]h DłhgÅ56]aJ hgÅ>*\h#B¹hgÅ;>*CJ\aJ h#B¹hĪc56;CJ\aJ h#B¹hNd/56;CJ\aJh-bhgÅ>*\h2\?56OJQJhī+u56OJQJnc~c•cŽc’cdddōĻĻ²Ļ•|$„²š¤x$„ą&`#$/„“If^„²ša$gd|eŁ$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd|eŁ$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gdh+$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd|eŁ $dąa$gdgÅd d6d ee9e˜eŌefIfTgŸ”††wn[[nn & F-„ ¤d¤d[$\$^„ gdŽbå„Š^„ŠgdŽbå & F,¤d¤d[$\$gdŽbå $„ī’¤x]„ī’a$gdĢIś $dha$gdgÅ`kddh$$If–l”ĪÖ0”’p!v"Ü! t  6`”ą”“öā"6ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyth+ d d!d4d6d|d}dŽd e ee@eAeŽee”e•e÷eųe!f"fJfKfOfPf›fœf§fØfĘfĒfgg)g*gMgNgUgVg•g–gžgŸgŠgŃgwjxjŠjłšęÜŠÄŠÄŠ¹°£°£˜£°Ž°Ž°Ž°£°£˜£°£°£˜£°Ž°Ž°Ž°Ž°Ž°‰hĢIśhĢIś5 h Dł5h DłhŽbåCJH*h DłhŽbå0JCJjh DłhŽbåCJUh DłhŽbåCJhĢIśhĢIś5\]h DłhĢIśCJ\]h DłhŽbåCJ\]h DłhgÅ5aJh Dłh°6ü5aJh°6ü5CJaJ h-bhgÅ/Tg™gĒgģg3h„iwjxj‹j"kOkkkl mBm¢męmöööććŌÉÉĵµµ¦šµ‘ 7$8$H$gdŽbå „Š[$\$^„ŠgdĢIś & F0¤d¤d[$\$gdĢIś & F0¤d¤d[$\$gdĢIśgdĢIś $dha$gdgÅ & F/¤d¤d[$\$gdŽbå & F.„ ¤d¤d[$\$^„ gdŽbå„Š^„ŠgdŽbåŠj‹j+k9k¢k§küklWl^lglwl{l™l”l«lÆlÕlŪlōlśl—mŸm¢mØm©mŖmåmęmēmīmļmńmn"n÷äÕäÕäÕäĀ³äÕäÕäÕäÕäÕäÕ䩝äŠwd©XäŠäh-bhŽbå5CJaJ$h<"hŽbåCJOJQJ^J_HJaJ$hŽbåhŽbåCJOJQJ^J_HJaJ%h DłhŽbåB*CJOJQJaJphh<"hŽbå5CJaJh DłhŽbå5aJh Dłh]<0JB*CJph%h Dłh]<B*CJOJQJaJphh DłhĢIś0JB*CJph%h DłhĢIśB*CJOJQJaJphhĢIśhŽbå5"ęmēmVnWnqn}nŒn©n¶nénźnünoo,oBojo~o–o®oĮoŌoļoųoöėąąÕÕÕąĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ$a$gdµ'Ģ $dha$gdvp° $dha$gdgÅ $dha$gdŽbå 7$8$H$gdŽbå"n*aJh2\?5CJaJhµ'Ģhµ'ĢCJaJh~ĀCJaJh Dłhµ'ĢCJaJmH sH h Dłhµ'ĢCJaJhµ'Ģhµ'ĢCJaJh Dłhµ'Ģ5aJh Dłh]<5aJh Dłhvp°CJh DłhgÅaJh DłhgÅ5aJhŽbå hŽbåhĢIśhĢIś%h DłhĢIśB*CJOJQJaJph%h DłhŽbåB*CJOJQJaJphųo ppp&p2pWpdpep}pp›p„p©pĶpēpq q qq6q9qLq`qlqwqq•q„q÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'Ģ„qĢqĶqŚq÷q’qrr#r:r>rUrlr†r‹r”r±rÉrĪrŲrŻrļrōr’rss*s2s9s÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'Ģ9sTskszss‰s”ss£s¼sĀsąsīsśs tt't-t>tKtVtetkt†tŒtøtĒtÓtćt÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'Ģćtétu uu)uPucunu~u„u›u”u³uĒuÓuäuźuvvv'vBvNvWvevpvyv‹v÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'Ģ‹v‘v–v°v¶vŹvćvļvųvww'w-w.w]w^wpw‚wwŖwĀwÖwšwüwžwxx)xXx÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'ĢXxdxixƒx˜x”xØx®xĘxy yy+y-yByLySygyky†yyšy§yøy½yŌyäyśy z÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'Ģ zz.zDzSzizxz|z‰zz˜zžzĒzŲzäzźzózłz{{{/{1{@{]{e{j{x{‰{÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdµ'Ģ‰{Ž{˜{š{«{­{¶{Ä{É{ģ{ž{| | ||'|*|9|<|=|U|X|†|—|Ÿ|«|Æ|·|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷č$ Ę8dha$gdgÅ$a$gdµ'Ģ·|}}}6}7}9}‹}¢}£}¤}µ}¶}9~:~T~~Œ~š~›~“~·~¹~ŗ~÷ī÷īāŅÅ·©ŅŸ“ŠīŠwncXJ?hūi56OJQJh-bhūi56OJQJh#B¹56OJQJh Dł56OJQJh Dłhˆ?mCJh Dłh_K5CJh Dłh_KCJh DłhC!½CJh-bh®Ļ5CJaJh DłhgÅ5aJhOCŪhgÅOJQJ\^JhsnhgÅ5OJQJ^JhOCŪhgÅOJQJ^JhOCŪhgÅ5OJQJ\^Jh DłhgÅ5CJ\h DłhgÅCJh DłhŻ‡CJ·|7}8}9}£}¤}µ}¶}ü}:~T~~›~œ~~ž~Ÿ~ ~”~¢~£~¤~ōģģģģģģįįÕŹ¾¹¹¹¹¹¹¹¹¹gdvp° $„Š^„Ša$gd_K $ & F a$gd_K $„Š^„Ša$gdC!½ $ & F a$gdC!½$a$gdgÅ $dha$gdŻ‡¤~„~¦~§~Ø~©~Ŗ~«~¬~­~¼~½~Š~Ń~ę~ö~ 0KśśśśśśśśśśņēßŌŌÆÆÆ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdūi $dąa$gdūi$a$gdūi $dha$gdć&8$a$gdć&8gdvp°ŗ~»~¼~½~¾~Ć~Å~Ź~Ģ~Ļ~Š~Ń~ę~õ~ö~ 0KLMNchsvõźćÕĒÕĒÕĒÕćŗ°„™™tmcVFVhHyMhA5CJ\mH sH hHyMhACJmH sH hHyMhO)ą5aJ h-bhūih-bhūi56\]hHyMhć&8CJ\]hHyMhūiCJ\]hHyMhµR‹CJ\]h-bhūi6\]h-bhūi6]hHyMhūi56]aJh#B¹h#B¹56CJaJh#B¹hZų56CJaJ hūi>*\hūi56OJQJh³Ķ56OJQJKLMNc‚‚?‚@‚āÉk``WWW 7$8$H$gdA $dha$gdO)ą^kdÜh$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt m$„²š¤x$„ą&`#$/„“If^„²ša$gd m$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd mvwÅĘŌÕļšP€Q€V€W€½€¾€()23GK‚‚ ‚ ‚ ‚*‚=‚>‚?‚@‚G‚H‚S‚}‚’‚īįīŅīįīįīŅīįīįīŅīįĀį¹Æ£–į‰o\ÆXį‰įhA$h<"hACJOJQJ^J_HJaJhACJOJQJ^J_HJaJh4|¢hA\]hHyMh[ÆCJmH sH hHyMhHyMCJmH sH h<"hA5CJaJhHyMhA5aJhåoĮ5CJaJhHyMhA6CJ]mH sH hHyMhA0JCJmH sH hHyMhACJmH sH !jhHyMhACJUmH sH "’‚Æ‚¹‚¼‚Ļ‚Š‚č‚ź‚ė‚#ƒ$ƒ1ƒöƒH„|„…˜“ˆ”¶”¾”• • •]•t•u•óęóęŻÓŹæ¶ÆÓ¤•¤•¤•¤ÓŒzj]OAhOCŪhūiOJQJ\^Jhsnhūi5OJQJ^JhOCŪhūiOJQJ^JhOCŪhūi5OJQJ\^J"hHyMhūi5CJOJQJ\^JhHyMhņJŚCJhHyMhūiCJaJmH sH hHyMhūiCJaJ hHyM5aJhHyMhvp°CJh-bh™~KCJaJhHyMhūiaJhHyMhūi5aJhÅ;C5CJaJhHyMhACJmH sH hHyMh[ÆCJmH sH @‚Ļ‚Š‚ź‚ė‚÷‚ƒ#ƒ$ƒ1ƒCƒUƒaƒcƒoƒ„ƒ‡ƒ”ƒĖƒąƒöƒ„%„4„ōģģģįįįÖÖŹŹŹŹŹŹŹŹŹŹŹŹŹŹ $„h^„ha$gdūi $dha$gdūi $dha$gdvp°$a$gdÅ;C $dha$gdA4„H„T„V„d„o„z„~„„…,…F…d…‹… …Ø…Ć…Ų…ä…††4†A†]†x†Ž†›†·†į†óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūiį†‡-‡B‡X‡e‡o‡„‡‡³‡Ą‡Ö‡ˆ ˆ=ˆOˆcˆ~ˆ‡ˆˆšˆ›ˆ”ˆ¢ˆ¾ˆÄˆņˆ‰)‰óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi)‰1‰E‰P‰X‰c‰k‰˜‰°‰¹‰æ‰Ą‰Ü‰į‰ū‰ŠŠ ŠŠŠ:ŠHŠhŠ€ŠƒŠˆŠ‰ŠŖŠÆŠóóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūiƊĢŠ ‹D‹r‹Œ‹Ø‹°‹Ų‹Œ"Œ*Œ=ŒDŒZŒjŒkŒrŒŠŒ‘ŒŹŒåŒųŒ3AKgóóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūig}~†ž„øŲąłŽŽ9Ž:ŽBŽUŽZŽ~ŽƒŽ”Ž3M`g€‡Ÿóóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūiŸ„×š#<MUwx–œÆÕķ‘‘ ‘‘‘‘3‘8‘Y‘l‘‘óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi‘©‘¼‘ę‘ģ‘’’3’M’Q’^’c’„’Ÿ’„’Ö’š’ö’ “"“=“U“j“‚“–“š“““ø“Ä“óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūiēŲ“ę“”-”4”R”W”i”‚”””š”¢”²”¶”¾” • • • •u•v•w•x•y•Š•óóóóóóóóóóóóóóäÜÜÜÜÜÜÜÜÜÜ$a$gdūi$ Ę8dha$gdūi $„h^„ha$gdūiu•w•y•Š•‹•÷•ų•X–Y–‡–ˆ–‰–•–™–¤–¦–§–Ø–©–Ŗ–«–°–²–·–šćŁĻŻűũ¢—Œsh]hUG*\h]sĄh†ö\hHyMhÉ&CJ\hHyMhūiCJ\hHyMh]sĄCJ\h-bhūi5>*hHyMhūi5aJhūi5OJQJ\^JhOCŪhūi5OJQJ\^JŠ•‹•ų•‡–ˆ–‰–Š–‹–Œ––Ž–––‘–’–“–”–•–––—–˜–™–©–Ŗ–½–÷éé÷÷äääääääääääääääää÷Ł $dha$gd™~KgdÄ\æ$ & Fdha$gdh+$a$gdūi·–¹–¼–½–¾–Ó–ā–ć–õ–ö– — — — —!—&—8—>—?—š—›—°—±—ą—į—D˜ņēņÖÉæ“؜؜ˆ~qaqPqPAPqPqhHyMhåoĮ0JCJmH sH !jhHyMhåoĮCJUmH sH hHyMhåoĮ5CJ\mH sH hHyMhåoĮCJmH sH hHyMhåoĮ5aJ h-bhūih-bhūi56\]hHyMhūiCJ\]hHyMh!rźCJ\]h-bhūi6\]h-bhūi6]hHyMhūi56]aJ h™~Khūi56>*CJ\aJh#B¹56CJaJh™~KhÉ&56CJaJ½–¾–Ó–ć–ö– — — —÷ģģĒĒŖ‘$„²š¤x$„ą&`#$/„“If^„²ša$gd m$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd m$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdūi $dąa$gdūi$a$gd™~K — —!—yœn@ŸAŸBŸ”–‘‘‘ˆFAkd¬z$$If–ÖÓ’3€B t ö6Ö’Ö’Ö’Ö’3Ö4ÖBÖaöytåoĮ $IfgdåoĮgdåoĮ $dha$gdåoĮ^kdPi$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt mD˜E˜L˜M˜U˜V˜µ˜¶˜»˜¼˜Õ˜Ö˜7™8™>™?™H™M™X™Y™Ā™Ć™Ķ™Ī™.š6š;š?šƒš„šĻšŠšŻšŽšāšćš,›-›1›2›×›Ų›œ œ3œ4œyœzœŃœŅœÓœīßīŅīŅīßīŅīŅīßīŅĀŅīŅīßīŅ²Ņ²ŅīŅīßīŅīŅīßīŅīŅīßīŅ¦ž¦ jhåoĮB*UmH ph’sH håoĮmH sH jhåoĮUmH sH hHyMhåoĮ5CJ\mH sH hHyMhåoĮ6CJ]mH sH hHyMhåoĮCJmH sH hHyMhåoĮ0JCJmH sH !jhHyMhåoĮCJUmH sH 2Ӝijklmn@ŸAŸBŸHŸIŸ}Ÿ~Ÿ…Ÿ†Ÿ   & ( ` c p  ¤óāŃāŽ°¬¤šŽlš¬e[RIe[>hHyMhūiCJaJhHyMh›õCJhHyMhūiaJhHyMhūi5aJ h~Ā5aJ$h<"håoĮCJOJQJ^J_HJaJhHyMhåoĮCJ_HJmH sH h<"håoĮ5CJaJhHyMhåoĮ5aJhåoĮCJaJhåoĮhHyMhåoĮCJmH sH håoĮmH sH jhåoĮUmH sH jÄihåoĮB*UmH ph’sH jhåoĮB*UmH ph’sH håoĮB*mH ph’sH BŸ}Ÿ~Ÿ   ( 4 C ` a b c p ‚ ”   ¢ ¬ æ Ņ ””(”<”ööėąąÕÕÕąąąąÉÉÉÉÉÉÉÉÉÉÉ $„h^„ha$gdūi $dha$gd›õ $dha$gdūi $dha$gdåoĮ 7$8$H$gdåoĮ<”I”W”g”v”†”’”””ž”Ø”¬”®”Ą”Ł”ń”¢¢8¢Q¢e¢„¢•¢¤¢¦¢Ź¢Ō¢ą¢óóóóóóóóóćóóóóóóóóóóóóóóóó$ Ę<„h^„ha$gdūi $„h^„ha$gdūią¢ā¢ķ¢ļ¢÷¢££&£.£@£R£`£h£w£‰£—£Ÿ£Æ£Į£Ļ£×£ć£ä£ģ£ō£’£¤¤¤óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi¤(¤E¤G¤R¤T¤b¤d¤o¤ ¤ø¤Č¤Ö¤ē¤ņ¤ž¤„4„L„\„e„g„{„Œ„ „“„Ā„Ē„É„óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi ¤Č¤4„\„7ŖaŖT«s«­­­­c­d­e­g­i­»­Ņ­Ó­Õ­×­Ų­é­ź­ńęńęńęńęŚÓĖĄ¬Ÿ’‚ugY‚’‚ĖOh-bhūi5>*hOCŪhūiOJQJ\^Jhsnhūi5OJQJ^JhOCŪhūiOJQJ^JhOCŪhūi5OJQJ\^Jhūi5OJQJ\^Jh” ‡5OJQJ\^J&hUJ¹h” ‡5CJOJQJ\^JaJhUJ¹h” ‡CJaJhUJ¹hūi5 hūi>*\hfNhūi5CJaJhHyMhūiCJaJhHyMhūiCJaJmHsHÉ„Ī„ՄׄŁ„ģ„ī„ū„!¦3¦X¦h¦œ¦§¦©¦ŗ¦Ī¦ā¦š¦ņ¦§§§)§:§K§_§s§‡§óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi‡§•§—§œ§ž§©§¾§Ļ§ą§ś§Ø(Ø<Ø>Ø@ØSØUØ`؆ؘأ؄ضØĒØÉØŪØŻØčØ©óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi©©(©*©/©1©<©O©`©}©š©œ©ž©Ŗ©¬©³©į©ŖŖ7Ŗ9ŖHŖaŖpŖrŖtŖvŖƒŖ…Ŗóóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi…Ŗ¦Ŗ°Ŗ»ŖÓŖäŖöŖųŖ« ««.«@«S«V«r«„«‡«‰«—«™«©«Ī«ą« ¬ ¬"¬$¬,¬óóóóóóóóóóóóóóóóóóóóóóóóóóóó $„h^„ha$gdūi,¬3¬5¬7¬C¬b¬g¬Š¬Œ¬›¬¬Ø¬Ė¬Ż¬ß¬ś¬ ­ ­­­­­d­e­óóóóóóóóóóóóóóóóóóčąŃÉÉ$a$gd” ‡$ Ę8dha$gdūi$a$gdūi $dha$gdūi $„h^„ha$gdūie­f­g­h­i­Ó­Ō­Õ­Ö­×­Ų­é­ź­ ®@®A®B®C®D®E®F®G®H®÷÷÷÷÷÷÷÷÷÷÷÷ģįŁŌŌĒĒĀĀĀgduF" „@ „Š^„@ `„Šgdūigd” ‡dhgdh+ & Fdhgdh+  & Fdhgdh+$a$gdūiź­ ® ®>®?®@®B®C®E®H®R®Y®\®^®_®`®a®b®k®l®m®‚®‘®ļßŌŠÉÅÉŗ¶²§œŽ§ŗ‡xiW‡LBh-bhūi6]hUJ¹hūi56]#h;"'hūi56;>*CJ\aJh;"'hYmŒ56;CJaJh;"'hų%Ō56;CJaJ hūi>*\h-bhūi56OJQJh;"'56OJQJh³Ķ56OJQJhUJ¹huF"hūi56OJQJh” ‡ h” ‡h” ‡hBhUJ¹hBCJaJhUJ¹hūi6CJOJQJaJhUJ¹h” ‡6CJOJQJaJH®I®J®K®L®M®N®O®P®Q®R®`®a®l®m®‚®’®«®Å®Ę®śśśśśśśśśśõķåķŚŚµµ¦$dh$Ifa$gd³,$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdūi $dąa$gdūi$a$gdų%Ō$a$gdūigdvp°gduF"‘®’®Ŗ®«®Å®Ę®Ū®Ü®Ż®Ž®Æ!Æ&Æ(Æ°'°@°B°Ų±Ł±ą±į±č±é±ö±÷±ž±’±²²²²ˆ²‰²‘²’²ōęŲŹĮ¹Æ¢›Œ}ŒlŒZŒlŒlŒlŒlŒlŒlŒlŒlŒlŒl#hUJ¹h³,6B*CJ]aJph hUJ¹h³,B*CJH*aJphhUJ¹h³,B*CJaJph’hUJ¹h³,B*CJaJph h-bhūih-bhūi56\]h-bhūi\]hUJ¹h³,5h³,5CJaJhUJ¹hĮhŠCJ\]aJhUJ¹hūiCJ\]aJhUJ¹hYmŒCJ\]aJh-bhūi6\]#Ę®Ū®Ü®Ż®Ž®uÆšÓŗ\P ¤d¤d[$\$gd³,^kd{$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt m$„²š¤x$„ą&`#$/„“If^„²ša$gd m$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd m$dh$Ifa$gd³,uƁƠƓÆĪÆ·°Ī±ė±²{²œ²…“¤“„“õ“µµ*µÜÜÜÜŠŠĒĒŠæŠ¶¶«£˜˜ $dha$gd›õ$a$gdˆ ’ $dha$gd³, 7$8$H$gd³,$a$gd³,„Š^„Šgd³, ¤d¤d[$\$gd³,# Ę2”(¼ Päx  4 Č#\'š*„.2¬5@9„Š^„Šgd³,’²˜²š²…“Œ“¤“„“¬“ō“õ“ µµGµTµfµī·ø¹5¹ī¹ŗnŗ•ŗOæmæĄSĄ‰Ą¬ĄEĮbĮ„Į<ĆyƔƬĆGÄņĜĚߚךÄךĄø±¦ø›rrrrjhUJ¹hĢŚ5hUJ¹hĢŚCJaJmH sH hUJ¹hĢŚCJaJmHsHhUJ¹hĢŚCJaJhĢŚhĢŚCJaJhUJ¹h›õCJaJ hUJ¹hūihUJ¹hūi5h³,$h<"h³,CJOJQJ^J_HJaJhUJ¹h³,5 hUJ¹h³,B*CJH*aJphhUJ¹h³,B*CJaJph&*µGµTµfµxµŒµ˜µšµ§µ°µÄµĒµāµ÷µ¶0¶I¶p¶¶®¶Ķ¶ć¶ļ¶ń¶· ··ōéįįįįįįįįįįįįįįįįįįįįįįįį$a$gdĢŚ $dha$gdūi $dha$gd›õ· ·3·>·j·t·w·Ž·£·®···ŗ·Ē·Ń·Ō·ģ·øø8øTøvøŽø°øĆøŠøŌøŽø ¹ ¹÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚ ¹2¹C¹k¹s¹x¹”¹¦¹°¹ŗ¹ė¹ŗŗ(ŗ2ŗ<ŗkŗ~ŗ’ŗ”ŗ«ŗµŗĖŗžŗ »»(»@»M»÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚM»X»]»s»„»Ž»˜»®»į»ķ»ņ» ¼#¼0¼;¼@¼V¼g¼q¼{¼‡¼­¼±¼Ż¼ė¼ž¼½½!½÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚ!½#½7½9½B½h½u½„½Š½½§½±½“½Ą½Ā½Ś½Ü½č½ń½¾¾+¾=¾@¾O¾Q¾l¾n¾z¾÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚz¾ƒ¾²¾Ä¾Ó¾Õ¾ū¾ż¾ æ æ#æMæ]ækæ{æŽæ‘æ—æšæŖæ¹æĪæŌæ×æĄĄ"Ą7ĄPĄ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚPĄcĄfĄiĄkĄ‰Ą‹Ą›Ą«ĄŗĄ½ĄĻĄģĄśĄżĄĮ%Į'ĮEĮGĮWĮaĮuĮƒĮ‘Į°Į³ĮĒĮĖĮ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚĖĮīĮžĮĀĀĀBĀRĀVĀ]ĀaĀyĀ•Ā„ĀµĀ¹Ā¼ĀĶĀŠĀņĀĆĆĆĆ:ĆIĆLĆYĆ[Ć÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚ[ĆyĆ{Ć‹Ć“ĆĆ«Ć¹ĆŹĆĶĆÜĆīĆņĆ ÄÄ5ÄEÄIÄXÄ[ÄhÄjÄāčĜÄÆIJÄŪÄ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdĢŚŪÄķÄšÄņÄśÄiÅjÅÓÅŌÅåÅĘ_ĘvĘ…Ę†Ę™Ę®Ę¾Ę÷÷÷čąąąąąŲŠĒĀą·¬¬ $dąa$gdūi $dąa$gd-Ÿgd›õ„Š^„Šgd‹5Q & Fgd}e4 & Fgd}e4$a$gdūi$ Ę8dha$gdūi$a$gdĢŚśÄ,Å:ÅPÅhÅiÅjÅ»ÅŅÅÓÅŌÅÕÅåÅĘĘ_ĘaĘbĘeĘfĘmĘnĘqĘrĘõźõźÜČ»­Ÿ–Ž†vf[L*\mHsH"hb2ņh›õ56OJQJmHsH"hb2ņhūi56OJQJmHsH"hb2ņh;"'56OJQJmHsHh³Ķ56OJQJmHsHhUJ¹h}e4CJaJmHsHhUJ¹h‹5QCJaJmHsH¾ĘŃĘļĘĒĒĒ Ē5ĒÖČŚŚŚŚĮcXSgdļ‚ $dha$gd”Ü^kd{$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt m$„²š¤x$„ą&`#$/„“If^„²ša$gd m$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdģųĒĒĒ Ē5ĒGĒIĒLĒhĒoĒsĒ…ĒŒĒĒģĒķĒńĒņĒłĒśĒAČBČMČNȁȂȩČŃČŌČÕČßČąČHÉIÉPÉQÉöéāŚČ¹Č¹Č¹Č¹¦¹¦•¦¹¦¹¦•¦¹€p€Z€¹¦¹¦•¦+hUJ¹hļ‚>*B*CJH*aJmH ph’sH hUJ¹hļ‚CJH*aJmH sH (jhUJ¹hļ‚CJH*UaJmH sH hUJ¹hļ‚0JCJaJmH sH %jhUJ¹hļ‚CJUaJmH sH hUJ¹hļ‚CJaJmH sH "hUJ¹hļ‚5CJ\aJmH sH hUJ¹h”Ü5 h-bhūih-bhūi56\]h-bhä\]#ÖȔÉėÉ.ŹPŹQŹ„Ź…ŹŻŹŽŹųŹĖĖ0Ė=ĖOĖaĖtĖ†Ė’Ė”ĖžĖššššēēēÜŌŌÉÉɾ¶¶¶¶¶¶¶$a$gdūi $dha$gdūi $dha$gd›õ$a$gd˜Q£ $dha$gd”Ü 7$8$H$gd”Ü & F1¤d¤d[$\$gdļ‚QÉPŹQŹXŹƒŹ„Ź…ŹŒŹŹÜŹŻŹŽŹöŹųŹ0Ė=ĖįĖyĢÅĢöĢ‰Ķ«Ķ„ĪŁĪ”Š“ŠßŠśŠĖŃĘŅŌOŌ§ŌńčąńčĶąÄµ¦•Žƒ•xixZxZxZxixixixixhUJ¹hūiCJaJmHsHhUJ¹hūiCJaJmH sH hUJ¹hūiCJaJhUJ¹h›õCJaJ hUJ¹hūihUJ¹hūi5h˜Q£5CJaJhUJ¹h”ÜCJaJmH sH hUJ¹h”r$CJaJmH sH h”r$5CJaJ$h<"hļ‚CJOJQJ^J_HJaJhUJ¹h”Ü5h”Ü5CJaJhUJ¹hļ‚CJaJmH sH žĖøĖ»ĖÕĖįĖūĖĢ(Ģ@ĢWĢmĢyĢ{ĢŠĢ”ĢŸĢ¢Ģ¤Ģ®ĢÅĢÜĢöĢ Ķ,Ķ=ĶHĶJĶRĶˆĶ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdūiˆĶ›ĶŖĶ­ĶÅĶŲĶŪĶåĶķĶõĶĪ0Ī1ĪFĪjĪtĪ|Ī‡ĪŠĪ¤Ī½ĪŲĪīĪĻ"Ļ.Ļ1Ļ:Ļ^Ļ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdūi^ĻpĻ{Ļ„ĻĻ°ĻĮĻĢĻÕĻŽĻŠŠ!Š*Š3Š?ŠBŠNŠVŠ`ŠiŠ‡Š‰Š”Š–Š“Š¶Š½ŠæŠ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdūiæŠßŠģŠśŠ ŃŃŃ&ŃCŃSŃrŃ}ŃіјўѠŃøŃĖŃßŃįŃćŃłŃūŃŅŅŅ-Ņ@Ņ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdūi@ŅBŅDŅ\Ņ^ŅdŅfŅzŅŅ§Ņ©Ņ«ŅĘŅČŅŌŅąŅÓÓ/ÓDÓ`Ó{Ó}ӔÓØÓČÓŹÓĻÓŃÓ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdūiŃÓŁÓķÓłÓŌŌ*Ō,Ō6Ō8ŌOŌQŌ]ŌjŌoŌŌ‹ŌŌØŌŖŌ«Ō³ŌšŌńŌņŌ`ÕaÕbÕ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷čč÷÷÷÷÷÷$ Ę8dha$gdūi$a$gdūi§ŌØŌŖŌ«Ō³ŌČŌļŌšŌńŌņŌHÕ_Õ`ÕbÕdÕuÕvÕeÖh֬֋׌׍×ŲŲõźåŻŅźÄŗ¶Æ§Ÿŗ–ŻŒvfVK@KhUJ¹h¤CJaJhUJ¹hJ‹CJaJhUJ¹hūi6CJOJQJaJhUJ¹hŽM36CJOJQJaJhUJ¹h§˜CJaJhUJ¹hŽM3CJaJh-bhūi5>*h£ra5CJaJh£rahūi\h£rahūi5 h£rahūih~Āh£rahūi5\hUJ¹hūi5CJ\aJhUJ¹h1VµCJaJhUJ¹hūi5 hUJ¹5hUJ¹hūiCJaJhUJ¹h¹0/CJaJbÕcÕdÕuÕvÕ¬ÖŒ××ĄŲĮŲĀŲĆŲÄŲÅŲĘŲĒŲČŲÉŲŹŲĖŲĢŲĶŲĪŲĻŲŠŲ÷÷÷÷ģįÜģ×ŅŅŅŅŅŅŅŅŅŅŅŅŅŅŅgd›õgd§˜gdJ‹ $ & Fa$gdēe $ & Fa$gdēe$a$gdūiŲzŲ}ŲĄŲĮŲŅŲŁŲŚŲÜŲŻŲßŲąŲįŲāŲéŲźŲėŲģŲŁŁŁ!ŁõźõęŪŠÅŗ¬”Š”œ‹zncXNC7hUJ¹h›õCJ\aJh-bhgÅ6\]h-bhgÅ6]hUJ¹hgÅ56]hUJ¹hąWH56]h‘D·56CJ]aJ h;"'hgÅ56;CJ\aJ h;"'h5wN56;CJ\aJ hąWH\hī+u56OJQJh-bh" ­56OJQJh" ­56OJQJh;"'56OJQJh³Ķ56OJQJhUJ¹56OJQJh§˜hUJ¹h§˜CJaJhUJ¹h¤CJaJŠŲŃŲŅŲįŲāŲźŲėŲŁŁ5Ł6Ł7Łśśśņźßßßŗ„$„²š¤x$„ą&`#$/„“If^„²ša$gd|eŁ$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gd|eŁ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gd|eŁ $dąa$gdgÅ$a$gd‘D·$a$gdą’gd›õ !Ł*Ł4Ł5Ł6Ł7Ł8ŁMŁdŁuŁØŁ©Ł Ś ŚŚŚĶŚŁŚŻŚīŚwÜxÜ~ÜܘÜóå×ĶĄ¹±¢¢}¢}l}¢¢¢c±WF hUJ¹h"<ĻCJ_HJaJmH sH h<"h”Ü5CJaJh”Ü5CJaJ hUJ¹h"<Ļ0JCJaJmH sH %jhUJ¹h"<ĻCJUaJmH sH "hUJ¹h"<Ļ6CJ]aJmH sH hUJ¹h"<ĻCJaJmH sH hUJ¹h”Ü5 h-bhgÅh-bhgÅ56\]h-bhgÅ\]hUJ¹hgÅCJ\]aJhUJ¹hąWHCJ\]aJhUJ¹hąWHCJ\aJ7Ł8ŁMŁńŚwÜxܚܛÜÜÜŻÜ÷ÜŻŻ/Ż”–‘‘ˆˆˆ–€€uuu $dha$gd›õ$a$gd&Xģ 7$8$H$gd”Ügd"<Ļ $dha$gd”Ü^kd|$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöyt|eŁ ˜Ü™ÜšÜ›Ü¢Ü£ÜŪÜÜÜŻÜõÜ÷Ü/Ż<ŻMŻNŻmāpāõć÷ćųćłćüćżćžćóź×Ļʵ±Ø ™Ž ‚vi_iREiREihUJ¹hd&ÓCJPJaJhUJ¹h±u§CJPJaJh~ĀCJPJaJhUJ¹h›õCJPJaJhUJ¹hFg·CJ\aJhUJ¹hDMĶCJ\aJhUJ¹h›õCJaJ hUJ¹hgÅhUJ¹hgÅ5h&Xģ5CJaJh”Ü hUJ¹h"<ĻCJ_HJaJmH sH h"<Ļ5CJaJhUJ¹h”Ü5$h<"h"<ĻCJOJQJ^J_HJaJh”Ü5CJaJh"<Ļh"<Ļ_HJmH sH /Ż<ŻNŻrŻƒŻ…Ż›ŻŖŻ­ŻÄŻßŻŽQŽaŽcŽ|ŽŽŽµŽĄŽģŽīŽüŽß%ßōģćććććććććććŌćććŌćććććć$ Ę8dha$gd›õ 7$8$H$gd›õ$a$gdgÅ $dha$gdgÅ%ß'ßGßUßWßlߣߓßÕßąą9ąbą}ąą¹ąŁąŪąūąį8įXį]į{į}į‡į‰įööööööööööööööööēööööööööē$ Ę8dha$gd›õ 7$8$H$gd›õ‰į’į¹į»įĒįĻįžį ā7āTāaākāmānāoāpāuāžā āøāĄāÖāčāźā"ć9ćYćöööööööööööēöööööööööööööö$ Ę8dha$gd›õ 7$8$H$gd›õYć^ć`ććŖćąćōćųćżć’ćää ähäiäjäŲäŁäźäėäģä;åuåööööööēēēŲŲŲŲŠŠŠŠŠŠŠĒ¾ 7$8$H$gd±u§ 7$8$H$gd¹0/$a$gdgÅ$ Ę8dha$gdwQs$ Ę8dha$gd›õ 7$8$H$gd›õžć’ćäää ä#ägähäjäĄä×äŲäŁäźäėäģäķäīäļä:å=åóźįŁŃÅŗ¦–‡zŁpia\aPDhUJ¹h±u§CJ\aJhUJ¹h¹0/CJ\aJ hd&Ó\h±u§h¹0/\ hgÅ>*\h-bhgÅ5>* hUJ¹5hŌMhgÅ\hŌMhgÅ5 hŌMhgÅhOCŪhgÅ5OJQJ\^J&hUJ¹hgÅ5CJOJQJ\^JaJhUJ¹hD·CJaJhUJ¹hķomCJ\aJhUJ¹hwQs5hUJ¹hgÅ5hd&Ó5CJaJh±u§5CJaJhUJ¹h›õ5CJaJ=å?åPåQåcådåuå|å‡å‰ååŽå•å—å¬å»å¼åķåīåļåšåęęóēóēŪēŠÅ·Å°”°–Œsi\UMF hõ~Ä\]hUJ¹hõ~Ä5 h-bh"ųh-bh"ų56\]h-bh"ų\]hUJ¹h"ųCJ\]aJh-bh"ų6\]h-bh"ų6]hUJ¹h"ų56]h;"'h"ų56;CJaJ h"ų>*\h-bh"ų56OJQJh"ų56OJQJhb2ņ56OJQJhUJ¹h±u§CJ\aJhUJ¹h¹0/CJ\aJhUJ¹hd&ÓCJ\aJuåvåwåxåyåzå{å|ååŽå•å–å—å¬å¼åķåīåśśśśśśśśņēņņÜÜ·š$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gdš†$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdš† $dąa$gd"ų $dha$gd"ų$a$gd"ųgd"ųīåļåšåę#éDéEéĀéĆéŻéééęˆ}kbb}WWW $dha$gd"ų 7$8$H$gdõ~Ä$„ī’„Š¤x]„ī’`„Ša$gdUJ¹ $dha$gdõ~Ä^kdu|$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytš†$„²š¤x$„ą&`#$/„“If^„²ša$gdš† ęęę#é)é*éCéDéEéLéMéĀéĆéŪéŻéź"ź¼ź½źīź%ėbė•ėķ#ķ&ķ'ķ›īœīīžī ī”ī¢īŖīņćņŪĻņæ¬ŪØņœ”‚”‚z‚k‚k‚k‚z‚`‚`‚œY” h"ų>*\hUJ¹hk+\CJaJhUJ¹h"ųCJaJmHsHh~ĀCJaJhUJ¹h"ųCJaJ hUJ¹h"ųhUJ¹h"ų5h-bh"ų5CJaJhõ~Ä$h<"hõ~ÄCJOJQJ^J_HJaJhõ~ÄCJOJQJ^J_HJaJh<"hõ~Ä5CJaJhUJ¹hõ~Ä5hUJ¹hõ~Ä5CJ\]aJhUJ¹hõ~ÄCJ\]aJ"ééųéź"ź4źFźSźUź_źsźzź{źź”ź¬ź¼ź½źÉźĖź×źįźėźīźšź%ėFėWėbėōōōģģģģģģģģģģģģģģģģģģģģģģģģ$a$gd"ų $dha$gd"ųbėdė…ė•ė£ė„ė°ė»ė½ėĀėÄėĶėŲėŚėįėöėųėģģģģ'ģKģVģ]ģ_ģgģrģyģ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gd"ųyģ‰ģ®ģ°ģ²ģ¼ģ¾ģæģŅģŌģķķ#ķ%ķ&ķ'ķ8ķ:ķLķ}ķ‰ķ—ķŸķ”ķ¢ķ¬ķ®ķµķĀķ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gd"ųĀķŃķÜķŽķßķīķšķīīī.ī0ī5ī7ī\īcīrītīīœīžī ī”ī¢īŖī4ļ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷ģ÷Ż÷$ Ę8dha$gd"ų $dha$gd"ų$a$gd"ųŖī3ļ4ļ6ļ7ļ‡ļžļŸļ ļ”ļ²ļ³ļšššš1š@šAšhšõįŌÄ·©›Ä’Š€õyjcXNC5hUJ¹hk+\CJ\]aJh-bhk+\6\]h-bhk+\6]hUJ¹hk+\56] hk+\>*\h;"'hk+\56;CJaJ h?Ū>*\h-bh"ų5>*hUJ¹h"ų5hUJ¹5CJaJhOCŪh"ųOJQJ\^Jhsnh"ų5OJQJ^JhOCŪh"ųOJQJ^JhOCŪh"ų5OJQJ\^Jh"ų5OJQJ\^J&hUJ¹h"ų5CJOJQJ\^JaJhUJ¹h"ųCJaJ4ļ5ļ6ļ7ļŸļ ļ”ļ²ļ³ļšššššš1šAšiš÷÷÷÷÷÷÷÷ģääŁŃŃĘĘ”$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdzY $dąa$gdk+\$a$gdk+\ $dha$gdk+\$a$gdą’ & Fdhgd±u§$a$gd"ųišjškšlšškóló ó”óāÉk`RIII 7$8$H$gdõ~Ä $„ī’¤x]„ī’a$gdė e $dha$gdõ~Ä^kdé|$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytzY$„²š¤x$„ą&`#$/„“If^„²ša$gdzY$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gdzYhšjškšlšš‚š„šŠškólórósótóŸó ó”óØó©óōō ō8ō:ōrōsō€ōöéāŚÓŶű©Ål©hÅh\TMB±Thė ehk+\CJaJ hė ehk+\hė ehk+\5h-bhk+\5CJaJhõ~Ä$h<"hõ~ÄCJOJQJ^J_HJaJhõ~ÄCJOJQJ^J_HJaJhė ehė eCJ\]aJh<"hõ~Ä5CJaJhė ehõ~Ä5 h~Ā5hė ehõ~Ä5CJ\]aJhė ehõ~ÄCJ\]aJ hõ~Ä\]hUJ¹hõ~Ä5 h-bhk+\h-bhk+\56\]h-bhk+\\]”óō ō:ōFōUōrōsō€ōøōėōłōõTõUõ^õfõö ö!ö.ö6öōéééééé鯯ŻĶŻŻŻĶĶĶĶĶ½„¤¤[$\$^„gdk+\„X¤¤[$\$^„Xgdk+\ ¤¤[$\$gdk+\ $dha$gdk+\ $dha$gdõ~Ä€ōTõUõøų¹ųĮųJłLłMłOłŸł¶ł·ł¹ł»ł¼łĶłĪł3ś•śšś„śšäšŪÓČ“§—Š|n—§—ÓdRČG<hķom56OJQJhk+\56OJQJ"hė ehk+\6CJOJQJ]aJh-bhk+\5>*hOCŪhk+\OJQJ\^Jhsnhk+\5OJQJ^JhOCŪhk+\OJQJ^JhOCŪhk+\5OJQJ\^Jhk+\5OJQJ\^J&hė ehk+\5CJOJQJ\^JaJhė ehk+\CJaJhė ehk+\5hk+\5CJaJh~ĀB*CJaJphLLLhė ehk+\B*CJaJphLLL6öCöJöRöeömööˆöö‘ö ö¢öµö<÷G÷L÷\÷f÷h÷z÷Š÷ļćÓļÓļÓļĆ³ćć³Ć³Ć³ćć³„X¤¤[$\$^„Xgdk+\„°¤¤[$\$^„°gdk+\„¤¤[$\$^„gdk+\ ¤¤[$\$gdk+\„` ¤¤[$\$^„` gdk+\Š÷¦÷­÷’÷ųųų$ų@ųGųˆų²ų“ų¶ųøų¹ųĮųKłLłMłNłļßļßÓÓßļßļĆļßÓ““¬¬¬¬$a$gdk+\$ Ę8dha$gdk+\„¤¤[$\$^„gdk+\ ¤¤[$\$gdk+\„X¤¤[$\$^„Xgdk+\„°¤¤[$\$^„°gdk+\NłOł·łøł¹łŗł»ł¼łĶłĪł3ś•ś–ś—ś˜ś™śšś«ś¬ś¶ś·śĢśÜś÷÷÷÷÷÷÷÷÷ģįÜÜÜÜÜÜŌĢĮĮĮ $dąa$gdķom$a$gdķom$a$gdķomgdķom & F*dhgdk+\  & F*dhgdk+\$a$gdk+\„ś§ś«ś¬ś­śµś¶ś·śĢśŪśÜśžśūūūūūūņēāŃĆ²¦›‘†zlbUNF>hė ehrEe5hė eh”Ü5 h-bhķomh-bhķom56\]h-bhķom\]hė ehķomCJ\]aJhė ehķomCJ\aJh-bhķom6\]h-bhķom6]hė ehķom56]hķom56CJ]aJ h;"'hķom56;CJ\aJhķom56;CJ\aJ h?Ūhķom56;CJ\aJ hķom\hķom56OJQJh-bhķom56OJQJÜśūūūūū°’Ś½¤F;; $dha$gdrEe^kd]}$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytš†$„²š¤x$„ą&`#$/„“If^„²ša$gdš†$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gdš†$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdš†ūūcūdū×ūŲūłūśūüüdüeüsütü„ü…üÉüŹüĶüĪüćüäü+ż,ż3ż4ż@żAż†ż‡żŒżż>ž?žŒžžŽžž”ž•žR’S’ž’Ÿ’īßĢßĢ»ĢßĢßĢ»Ģߦ–¦€¦ßĢßĢ»ĢßĢßĢ»ĢßĢßĢ»ĢßnßĢßĢ"hė ehrEe6CJ]aJmH sH +hė ehrEe>*B*CJH*aJmH ph’sH hė ehrEeCJH*aJmH sH (jhė ehrEeCJH*UaJmH sH hė ehrEe0JCJaJmH sH %jhė ehrEeCJUaJmH sH hė ehrEeCJaJmH sH "hė ehrEe5CJ\aJmH sH +Ÿ’­’®’Æ’°’±’·’ø’Ü’Ż’Ž’å’023kvwļÜĶĮø°¤Ķœ‘°Ķˆ„{slh]OAhė eh?Ū>*CJ\aJhė ehuF">*CJ\aJhė ehķomCJaJhuF" hė ehķomhė ehķom5hķom5CJaJh”ÜhrEe5CJaJhrEehrEemH sH h”ÜmH sH h<"h”Ü5CJaJhė eh”Ü5h”Ü5CJaJhė ehrEe5CJaJhė ehrEeCJaJmH sH %jhė ehrEeCJUaJmH sH hė ehrEe0JCJaJmH sH °’±’Ż’Ž’23?Nkw‘ŖÅąįł#LMuØöööėććŲŲŲŲŠČČČČČČČČČČČČ$a$gduF"$a$gdą’ $dha$gdķom$a$gdķom $dha$gd”Ü 7$8$H$gd”ÜØĻö*^Š‹¬¶·ĒČÜ÷ų<Ws›œ¬ĖÕ÷÷÷÷÷÷÷÷ļļļ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gdą’$a$gduF"w¶ČŹĖstŹ’“”–žøÄÅĒÉ67óåóŁóŠóĀó²ó¦ĀŸ—óŒxk[TLDhŌMhuF"\hŌMhuF"5 hŌMhuF"hOCŪhuF"5OJQJ\^JhuF"5OJQJ\^J&hė ehuF"5CJOJQJ\^JaJhė ehuF"CJaJhė ehuF"5 huF">*\hė ehķomCJ\aJhė ehuF"CJ\aJmH sH hė ehķom>*CJ\aJh~ĀCJ\aJhė ehčvVCJ\aJhė ehuF">*CJ\aJhė ehuF"CJ\aJÕń’%LguŽ˜™ŖÓŻł7bs”ĄŃėõö$.Jg÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF"gxš“Åšśū )3Oy›œ²¼½Öé,GXz„Ž÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF"¢ĀĢö   ` ¦ Ł Ś ņ  ( A B ]  › œ é - . U _ i j ± ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF"± ų + , D q { ” • ± Ó ī ļ <  ‚ © ³ “ Ķ  GwŖ«Ćļł$÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF"$^_Š¹ĆĶĪIy¬­Åņü'bcŽ¾ČÉŹĖŁé÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF":H€øŲ "4g–ضĒčö&h—Īē,=^lžą÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF"Ha™§éź4JT^_oš¤ķ "AKst‰œ„÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷ļ÷÷÷÷$a$gdą’$a$gduF"„§¶ĘŃąįü.Jh©ÓŌõ3tžæźW‚ƒ‘“÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷$a$gduF"“”•–žÅĘĒČÉ789:KL}~¦÷÷÷ččąąąąąą×ąąąĢ÷÷Ēæ·$a$gdÕ`ŗ$a$gdÕ`ŗgdÕ`ŗ $ & F'a$gduF" 7$8$H$gduF"$a$gduF"$ Ę8dha$gduF"$a$gdą’789:KLl{|}ˆŠ‹„¦§¼ĖĢöčßÓÉĀ¾Ā¶Æ¤™‹¤†xg[ND9h-bhÕ`ŗ6\]h-bhÕ`ŗ6]hė ehÕ`ŗ56]aJhÕ`ŗ56CJ]aJ h;"'hÕ`ŗ56;CJ\aJhÕ`ŗ56;CJ\aJ hÕ`ŗ\h-bhčvV56OJQJhčvV56OJQJhÕ`ŗ56OJQJ huF">*\h}įhuF"\huF" h-bhuF"h-bhuF"5>*h-bhuF"5CJaJhuF"5CJaJhuF"CJOJPJ^JaJhŌMhuF"5\¦§¼ĢōōōĻ²™$„²š¤x$„ą&`#$/„“If^„²ša$gdŖs@$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gdŖs@$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdŖs@ $dąa$gdÕ`ŗĢū *+‹Œ‘½Įy…–³·»ĮĆÉŹėģõéßŅĖĮ²Ÿ²ŸŽŸ²|²|²|²|²|²thWF hė eh”ÜCJ_HJaJmH sH hė ehņĮCJ_HJaJmH sH h<"h”Ü5CJaJhė eh”Ü5"hė ehņĮ5CJ\aJmH sH hė ehņĮ0JCJaJmH sH %jhė ehņĮCJUaJmH sH hė ehņĮCJaJmH sH hė eh”Ü5aJ h-bhÕ`ŗh-bhÕ`ŗ56\]h-bhÕ`ŗ\]hė ehÕ`ŗCJ\]hė ehÕ`ŗCJ\ Ćģķ?@Zfu’Ÿ”–‘ˆˆ–€€uuuu $dha$gdÕ`ŗ$a$gdÕ`ŗ 7$8$H$gd”ÜgdņĮ $dha$gd”Ü^kdŃ}$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytŖs@ ģķōõ>?@XZ’ŸŌ!Õ!'(*( / //)/m/n/p/ķåÜĖŗܲ« ²‘…‘…‘|th]I<h¾H5OJQJ\^J&hė eh¾H5CJOJQJ\^JaJhė eh¾HCJaJhė eh¾HCJ\aJhė eh¾H5hė e5CJaJh~ĀB*CJaJphhė eh¾HB*CJaJphhė ehÕ`ŗCJaJ hė ehÕ`ŗhė ehÕ`ŗ5 hė eh”ÜCJ_HJaJmH sH hė ehņĮCJ_HJaJmH sH hņĮ5CJaJhė eh”Ü5$h<"hņĮCJOJQJ^J_HJaJŸ(()(*( / //n/o/p/q/r/ą/į/ā/ó/ō/%0&0'0(0)0*0+0śśśśėėėćććććććććŲĻŹŹŹŹŹgd?Ū 7$8$H$gd¾H $ & F(a$gd¾H$a$gd¾H$ Ę8dha$gd¾Hgd¾Hp/r/Č/ß/ą/į/ā/ó/ō/$0%0&090D0F0J0K0U0V0W0šéįŁĻĘ¾“©…zlzgVE9h?Ū56CJ]aJ h;"'h?Ū56;CJ\aJ h?Ūh?Ū56;CJ\aJ h?Ū\h-bh?Ū56OJQJh?Ū56OJQJhė e56OJQJh?Ūh¾HOJPJ^Jhė eh¾HCJ\aJhė eh¾HCJaJh-bh¾H5>*hė eh¾H5h¾H5CJaJhŌMh¾H5\hŌMh¾H\hŌMh¾H5 hŌMh¾HhOCŪh¾H5OJQJ\^J+0,0-0.0/000102030405060708090J0K0V0W0l0|0š0śśśśśśśśśśśśśśśņźßßßŗ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gdš† $dąa$gd?Ū$a$gd?Ū$a$gd?Ūgd?ŪW0l0{0|00š0›0œ00²0ø0Ź0Ė0&1'1+1,131411‚11‘1„1³1·1ø1Å1Ę1%2&2*2+2ņčŻÓĒ½°©Ÿ‚q‚qbq‚q‚qbq‚R‚R‚q‚qbqhė ehh 6CJ]mH sH hė ehh 0JCJmH sH !jhė ehh CJUmH sH hė ehh CJmH sH hė ehh 5CJ\mH sH hė eh”Ü5aJ h-bh?Ūh-bh?Ū56\]h-bh?Ū\]hė eh?ŪCJ\]hė eh?ŪCJ\h-bh?Ū6\]h-bh?Ū6]hė eh?Ū56]aJ š0›0œ00²0i5œ5¾5ō5āÉk`[[LL & F2¤d¤d[$\$gdh gdh $dha$gd”Ü^kdE~$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytš†$„²š¤x$„ą&`#$/„“If^„²ša$gdš†$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gdš†+2/202:2;2\2]2/373­3µ3ß3ą3)4*4/4041424u4v4€44Š4‹4ę4ē4ū4ü455]5^5f5g5œ5§5¾5Å5ō5ü566b6c6Č6É6Ķ6Ī6Š6Ś6Ž6č6%71757A7z7€7Ÿ7¤7ö7óćóćóćóćóćóŅóŅĆŅóŅóŅĆŅóŅóŅĆŅóŅóŅĆŅóćóćóćóćóÆćƝÆóćóćóćóćóćóćó"hė ehh 0J6CJ]mH sH 'jhė ehh 6CJU]mH sH hė ehh 0JCJmH sH !jhė ehh CJUmH sH hė ehh 6CJ]mH sH hė ehh CJmH sH =ō5Š6%7z7Ÿ7ö7÷7>8?88‘8«8·8Ę8ć8ä8å8ę8ó8#9%9,9U9šššššēēēÜŌŌÉÉÉÉÉÉÉĄĄĄĄ 7$8$H$gd?Ū $dha$gd?Ū$a$gd?Ū $dha$gd”Ü 7$8$H$gd”Ü & F2¤d¤d[$\$gdh ö7÷7ż7ž7=8>8?8F8G888‘8©8«8ć8ę8ó8÷8ų8ę:ē:ļ:ų:öģąŃɾģµŃŖ”—Ž…~—qdqVLBhė ehuF"CJ\hė ehķom5aJhķomCJOJPJ^JaJhė ehčvVCJPJaJhė eh?ŪCJPJaJ h~Ā5aJhė eh?ŪCJhė eh?ŪaJhė eh?Ū5aJh?Ū5CJaJhh h”ÜmH sH hh 5CJaJhh hh mH sH h”ÜmH sH hė ehh CJ_HJmH sH h<"h”Ü5CJaJhė eh”Ü5aJh”Ü5CJaJU9l9ƒ9…9­9Ę9Č9Ź9Ļ9 : :!:1:S:U:c:–: :¶:Č:Ķ:Õ:×:ä:ę:ē:ļ:öööööööööööööööööööööööööē$ Ę8dha$gdķom 7$8$H$gd?Ūų:ł:=;>;?;A;—;®;Æ;°;±;Ā;Ć;ó;ō;õ;ś;<< < < < <õģŚĶ½¶®¦œ“‰ģõuk`R`G`B h2ZG\hĶe56OJQJh-bh2ZG56OJQJh2ZG56OJQJh2ZGOJPJ^JhķomOJPJ^Jh-bhķom5>*hė ehķom5aJh±u§5CJaJhŌMhķom5\hŌMhķom\hŌMhķom5 hŌMhķomhOCŪhķom5OJQJ\^Jhķom5OJQJ\^J"hė ehķom5CJOJQJ\^Jhė ehķomCJhė ehķomCJ\ļ:>;?;@;A;Æ;°;±;Ā;Ć;ō;õ;ö;÷;ų;ł;ś; < < <!<šččččččččŻŌŌŌŌŌŌĻĒæ“ $dąa$gd2ZG$a$gd2ZG$a$gd2ZGgd2ZG 7$8$H$gd?Ū $ & F.a$gdė e$a$gdķom$ Ę8dha$gdķom < << <!<6<E<F<`<w<y<z<{<|<<‘<÷IųIžIļŽĶĮ“ŖŸ•‹uhaWMD;1h 3Sh”Ü5aJh”Ü5CJaJhė eh2ZGCJhė ehO“5aJhė ehĆP5aJ h-bh2ZGh-bh2ZG56\]h-bh2ZG\]hė eh2ZGCJ\]hė ehēDĶCJ\hė eh2ZGCJ\h-bh2ZG6\]h-bh2ZG6]hė eh2ZG56]aJh2ZG56CJ]aJ h;"'h2ZG56;CJ\aJ h2ZGh2ZG56;CJ\aJ h?Ūh2ZG56;CJ\aJ!<6<F<y<z<{<|<ōōĻ²™;^kd¹~$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytdIa$„²š¤x$„ą&`#$/„“If^„²ša$gddIa$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gddIa$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gddIa $dąa$gd2ZG|<‘<'>(>}>Ö>b?Ą?@F@s@„@č@A\A”AīAļAŪBACBCjDįEvF%G«GBHHōģģģģģģģģģģģģģģģģģģģģģģģģģģ$a$gd2ZG $dha$gdO“HŗH»HŻHśHInSnbncnõėąÕąÕąÕąĖĒĄø°Ė¦Ė››ˆwk^TIh-bhĶe6\]h-bhĶe6]h 3ShĶe56]aJhĶe56CJ]aJ hĶehĶe56;CJ\aJ hĶe\h-bhĶe56OJQJhĶe56OJQJh[{OJPJ^JhŌMhĶe\hŌMhĶe5 hŌMhĶehĶehĶeOJPJ^Jh 3Shš6ŃCJPJh 3Sh2ZGCJPJh2ZGOJPJ^Jh 3ShĶe5aJnnn&n'n=n>nSncn‚nƒn„nööńéįÖÖÖ±”{$„²š¤x$„ą&`#$/„“If^„²ša$gddIa$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gddIa$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gddIa $dąa$gdĶe$a$gdĶe$a$gdĶegdĶe 7$8$H$gd2ZG cn€n‚nƒn„n…nšnrrrr r9r:rArBrr‚rƒr„r‚‚‚‚‚;‚<‚=‚>‚õéßŅĖĮøÆĮ£š‘ˆĮ‘zvl_lZRl_lNJh 3ShĶeh 3ShĶe5 h 3S5h 3ShĶeCJPJaJhĶeOJPJ^Jh”Ü hźMĘhźMĘ h 3S5aJh 3Sh”ÜCJh 3ShźMĘCJh 3S5CJaJh<"h”Ü5CJaJh”Ü5CJaJh 3ShĶeCJh 3Sh”Ü5aJ h-bhĶeh-bhĶe56\]h-bhĶe\]h 3ShĶeCJ\]h 3ShĶeCJ\„n…nšnrr:rƒr„rĢrĶrąrórsss)s”–„„– 7$8$H$gd”Ü 7$8$H$gdĶe $dha$gd”Ü^kd-$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytdIa)s7s8sDsFsYsns†s‡s¢sŖs«sęst@t^tt‚tt‘tœt¹tŗtĘtÓtÖtōtųtuöööööööööööööööööööööööööööö 7$8$H$gdĶeu2u6u7umuu€uŸuÆu°uÜuļuvv1v5vgvuv”v™v¶vÉvĻvŽvīvōvłvśvwöööööööööööööööööööööööööööö 7$8$H$gdĶew6w>wCw~wŗwæwĆwŹwĪwśw’wx%xKx_xfxwx…xŒx’x­xÓxÜxāx ySyYy^yöööööööööööööööööööööööööööö 7$8$H$gdĶe^yfy{yy—yyŸy yĶyzz#z:zuz‘z„z¦zĆzÖzįzēzźzżz{{ {4{@{L{öööööööööööööööööööööööööööö 7$8$H$gdĶeL{P{S{]{_{`{™{›{ŗ{Ó{ę{| |||#|I|U|n|~||“|”|Ø|Ę|Ź|ā|}}öööööööööööööööööööööööööööö 7$8$H$gdĶe} },}@}P}T}U}q}|}}ž}Ÿ}½}Į}ä}å}ū}~~"~$~%~B~D~Q~R~y~~~öööööööööööööööööööööööööööö 7$8$H$gdĶe~¢~Ŗ~­~¹~»~¼~ć~å~ś~ū~:>ITX_cvƒ†–˜Åļńöööööööööööööööööööööööööööö 7$8$H$gdĶeń€=€\€n€x€z€„€ƀŀ׀Ų€ń€ #.Nap„‡‰«­Įöööööööööööööööööööööööööööö 7$8$H$gdĶeĮāäöł ‚‚‚‚‚;‚<‚=‚>‚¬‚­‚®‚Ƃ°‚±‚²‚³‚“‚µ‚¶‚öööööööēēŚöŅŅŅöööööööööö$a$gdĶe Ę87$8$H$gdĶe$ Ę8dha$gdĶe 7$8$H$gdĶe>‚”‚«‚¬‚ĂʂĻ‚Š‚Ū‚Ż‚į‚ā‚ų‚ł‚ƒƒƒQƒSƒTƒUƒłńéßŌŠÉ¾°¾«šŽƒynbTJ=h-bhĪbÓ56\]h-bhĪbÓ\]h 3ShĪbÓCJ\]aJh 3ShĪbÓCJ\aJh-bhĪbÓ6\]h-bhĪbÓ6]h 3ShĪbÓ56]hĪbÓ56CJ]aJ hĪbÓhĪbÓ56;CJ\aJ hĪbÓ\h-bhĪbÓ56OJQJhĪbÓ56OJQJ h[{h[{h[{h… z56OJQJhĶeOJPJ^JhŌMhĶe\hŌMhĶe5 hŌMhĶe¶‚·‚ø‚¹‚ŗ‚»‚¼‚½‚¾‚æ‚Ą‚Į‚Ā‚ƂĂłʂĒ‚ȂɂŹ‚Ė‚Ģ‚Ķ‚Ī‚Ļ‚Š‚į‚ööööööööööööööńńģģģģģģģģģģńgd[{gdĪbÓ 7$8$H$gdĶeį‚ā‚ų‚ł‚ƒƒSƒTƒUƒ÷ļäää梉$„²š¤x$„ą&`#$/„“If^„²ša$gddIa$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gddIa$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gddIa $dąa$gdĪbÓ$a$gdĪbÓ$a$gdĪbÓUƒVƒkƒ`„a„Œ„˜„­„Ś„õ„ö„…‘…¼…½…Ė…ą…”– 7$8$H$gdĶe $dha$gdĪbÓ^kd”$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytdIaUƒVƒiƒkƒū…ü…†††J†K†R†S†††‡†Œ‡‡ś“ū“ż“”” ”O”P”Q”R”S”łńéŽÕĶČ¼±¦Ķț—Š€ŠvČél_R_lNJhouhĪbÓhouh]FjCJPJaJhouhĪbÓCJPJaJhĪbÓOJPJ^JhĶeOJPJ^Jh… zCJPJaJhouhĶeCJPJaJhD3houhĻj'CJaJhouhD3CJaJhouhźMĘCJaJh<"hD35CJaJ hou5houhD35hD35CJaJhouhĶeCJaJhouhĪbÓ5houhĆP5 h-bhĪbÓą…ó…ū…ü…K†‡†¹†ŗ†Ķ†ą†ō†‡‡/‡0‡<‡>‡R‡i‡w‡”‡Ƈ°‡ʇ߇ī‡’‡ööķķāööööööööööööööööööööö $dha$gdD3 7$8$H$gdD3 7$8$H$gdĶe’‡ˆ ˆˆ(ˆ1ˆ2ˆ?ˆ@ˆMˆPˆ^ˆ‚ˆ§ˆĶˆ÷ˆ‰9‰Q‰R‰b‰f‰r‰s‰š‰±‰ʼnŲ‰Ł‰öööööööööööööööööööööööööööö 7$8$H$gdĶeŁ‰å‰ę‰ņ‰ó‰$Š;ŠOŠiŠxŠ¢Š±Š²Š¾ŠæŠĖŠĢŠŚŠéŠźŠöŠ‹‹‹$‹%‹2‹3‹U‹öööööööööööööööööööööööööööö 7$8$H$gdĶeU‹Y‹\‹^‹_‹w‹y‹¢‹Ī‹ņ‹ó‹ ŒŒŒ>ŒKŒVŒYŒ”Œ±ŒŌʌüŒ’ŒAY‚’öööööööööööööööööööööööööööö 7$8$H$gdĶe’æʍ’Ž'Ž*Ž+Ž>ŽŽ„Ž–Ž؎ŗŽŎȎɎĻŽŅŽėŽļŽQuz™°½ĀŪöööööööööööööööööööööööööööö 7$8$H$gdĶeŪߏāäåž'<EFp‰ž³¶֐א ‘ ‘C‘l‘–‘¤‘ؑŗ‘½‘öööööööööööööööööööööööööööö 7$8$H$gdĶe½‘ɑĖ‘Ģ‘Ł‘Ū‘ķ‘ł‘ś‘’;’N’O’P’o’r’„’š’ž’Ō’ż’'“:“>“A“C“D“S“U“öööööööööööööööööööööööööööö 7$8$H$gdĶeU“k“t“u“”“—“©“æ“Ɠ֓ę“ń“õ“ų“ś“ū“ü“ż“”P”Q”R”S”Į”öööööööööööööööēēēŚŃÉÉÉ$a$gdĪbÓ 7$8$H$gdĪbÓ Ę87$8$H$gdĪbÓ$ Ę8dha$gdĪbÓ 7$8$H$gdĶeS”©”Ą”Į”ƔĒ”ɔŹ”ՔהŪ”ܔń”ņ”ó”•••;•=•>•łńéßÕŹæ“¦“”“‚vi_TJ>4h-bhLe\]houhLeCJ\]houhLeCJ\h-bhLe6\]h-bhLe6]houhLe56]aJhLe56CJ]aJ hĪbÓhLe56;CJ\aJhLe56;CJ\aJ hLe\h-bhLe56OJQJhLe56OJQJh[{56OJQJh… z56OJQJhLeOJPJ^JhĪbÓOJPJ^JhŌMhĪbÓ\hŌMhĪbÓ5 hŌMhĪbÓĮ”Ā”ƔĔŔʔĒ”ȔɔŹ”Ū”ܔņ”ó”••=•öķķķķķččččąŲĶĶĶØ$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gddIa $dąa$gdLe$a$gdLe$a$gdLegdLe 7$8$H$gdĶe 7$8$H$gdĪbÓ=•>•?•@•U•T–U–…–†–āÉk``WWL $dha$gdD3 7$8$H$gdD3 $dha$gdLe^kd€$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytdIa$„²š¤x$„ą&`#$/„“If^„²ša$gddIa$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gddIa>•?•@•S•U•R–T–U–[–\–_–„–…–†––Ž–ŗ–»–¼–Ÿ Ÿ(Ÿ)ŸiŸjŸóģāŲĻž“؟–“x–tj]jUjDj houhLeCJOJPJ^JaJhouhLe5houhLeCJPJaJhLeOJPJ^JhD3hĻj'5CJaJh… zh… z5CJ aJhouhD3CJhouhĻj'CJhou5CJaJhouhD35CJaJhouhD35aJ h… z5aJhouhLeCJ\houhLeCJhouhLe5aJhouhĆP5aJ h-bhLeh-bhLe56\]†–»–¼–———-—>—O—c—v—w—ˆ—Š—©—Ź—ņ—˜!˜"˜5˜i˜j˜w˜y˜‘˜’˜ōėāāāāāāāāāāāāāāāāāāāāāāāā 7$8$H$gdLe 7$8$H$gdĶe $dha$gdD3’˜Ÿ˜ ˜¾˜Š˜ߘų˜ł˜™ ™ ™™™3™?™O™P™f™®™į™ā™÷™ś™ššYš^š{ššöööööööööööööööööööööööööööö 7$8$H$gdLeš”š¦š®š֚Śšųšūšżšžš/›g›i›t›€››•›˜›ą›į›ö›ś›œ-œ1œ2œRœsœ•œöööööööööööööööööööööööööööö 7$8$H$gdLe•œȜɜܜąœ,CFLOxyŒŗ»ćłś"ž>ž?žZžpžqžöööööööööööööööööööööööööööö 7$8$H$gdLeqžž‘ž؞ŲžߞŸŸŸŸ Ÿ(ŸiŸjŸkŸŁŸŚŸŪŸܟŻŸŽŸߟąŸńŸööööööööööēŚöŅŅöööööĶĶĶgdLe$a$gdLe Ę87$8$H$gdLe$ Ę8dha$gdLe 7$8$H$gdLejŸkŸĮŸŲŸŁŸŽŸąŸėŸķŸńŸņŸžŸ    , - P R S üõķåŪŠÅ·Å²”“‚vi_TJ>4h-bhLe\]houhLeCJ\]houhLeCJ\h-bhLe6\]h-bhLe6]houhLe56]aJhLe56CJ]aJ hĪbÓhLe56;CJ\aJhLe56;CJ\aJ hLehLe56;CJ\aJ hLe\h-bhLe56OJQJhLe56OJQJh[{56OJQJhLeOJPJ^JhŌMhLe\hŌMhLe5 hŌMhLehLeńŸņŸ   - R S T ÷ļäää梉$„²š¤x$„ą&`#$/„“If^„²ša$gddIa$„ī’„Š¤x$„ą&`#$/„“If]„ī’^„Ša$gddIa$$ & F„ī’„Š„¤x$„ą&`#$/„“If]„ī’^„Š`„a$gddIa $dąa$gdLe$a$gdLe$a$gdLeS T U h j ‰”Š””‘”Ī”Ļ”Š”×”Ų”Ł”Z¢[¢\¢’¦“¦”¦–¦ž¦Ÿ¦óģāŲĪÄŗ®¤š‡ŗz¤šqdWqNF<hLeOJPJ^JhouhLe5h£&A5CJaJh£&AhPEĮOJPJ^JhouhPEĮCJPJaJhLe5CJaJ hou\hĻj'hĻj'\$h<"houCJOJQJ^J_HJaJhouhD3CJ\houhĻj'CJ\h<"hD35CJaJhouhD35aJhouhLeCJ\houhPEĮCJ\houhLe5aJhouhĆP5aJ h-bhLeh-bhLe56\]T U j Š”Ļ”Š”[¢\¢”¢•¢Ø¢»¢¼¢”–‡~~s‡jjjjj 7$8$H$gd£&A $dha$gdD3 7$8$H$gdD3$ Ę8dha$gdLe $dha$gdLe^kd‰€$$If–lÖ0”’")Š9Ž)h t  6`”ą”“öö96ööÖ’’Ö’’Ö’’Ö’’”“4Ö4Ö laöytdIa ¼¢É¢Ė¢×¢Ś¢ģ¢ž¢ ££££*£=£W£m£n£{£±£Ļ£Ņ£¤<¤?¤@¤^¤a¤„¤ˆ¤²¤öööööööööööööööööööööööööööö 7$8$H$gd£&A²¤·¤Ō¤ö¤„„ „#„$„K„„„¢„„„Ä„Č„ó„?¦C¦F¦G¦S¦U¦V¦k¦m¦¦¦’¦“¦öööööööööööööööööööööööööööö 7$8$H$gd£&A“¦”¦•¦–¦ž¦Ē¦Ȧɦ7§8§:§;§=§>§@§A§C§D§M§N§O§P§Q§ššššćŚŅŅŚŠŠŠŠŠŠŠŠĒĮŠĮŠ„h]„h„ų’„&`#$$a$gdLe 7$8$H$gdLe Ę87$8$H$gdLe$ Ę8dha$gdLeŸ¦ʦĒ¦Ȧɦ§6§7§8§9§;§<§>§?§A§B§D§E§K§L§M§Q§R§i§j§l§m§o§p§q§r§óęÜŲŃÉĮܹµ¹µ¹µ¹µ«„«„”™•™Œ™•ˆµÜhŖs@h¼/\mHnHuh¾Hjh¾HUhź2P hź2P0Jjhź2P0JUhŌiqjhŌiqUhŌMhLe\hŌMhLe5 hŌMhLehLehLeOJPJ^JhouhLeCJPJaJhouh£&ACJPJaJQ§n§o§p§q§r§śųööķ 7$8$H$gdLe$a$C0P&P 1h:p.~Æ°…. °ĀA!°"°#ś$ %°°Š°Š ŠDp±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+Ė$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l4”D t Ö0ö6ö+Ö5ÖĻ5Öō5Öj/Ö ’aö ytŖs@½$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l4”X t Ö0ö6ö+Ö5ÖĻ5Öō5Öjaö yt‡.¹$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l4 t Ö0ö6ö+Ö5ÖĻ5Öō5Öjaö yth+Õ$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l4 t Ö0ö6ö+Ö5ÖĻ5Öō5Öj/Ö ’/Ö aö yt‡.Ķ$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öj/Ö ’/Ö aö ytŹJ0æ$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öj/Ö aö ytŹJ0±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yt‡.±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+¹$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l4 t Ö0ö6ö+Ö5ÖĻ5Öō5Öjaö yth+¹$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l4 t Ö0ö6ö+Ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+±$$If– !vh5ÖĻ5Öō5Öj#vĻ#vō#vj:V –l t Ö0ö6ö5ÖĻ5Öō5Öjaö yth+r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhytš†7Dd ŖLhdš0² š # š A’š€"š„6Źü4/»ČW©²n½0^Āõ’`6ów@=šX6Źü4/»ČW©²n½0^ĀõD’”Jü±:wØ &6žxģ}L[G¾ļt÷>½{ߞ÷tżßõ–,łÉŅ‹!ž’ B+[ļĀK„ēµBV~Č2U#@ŻŠäU…Ķ*ØT‹«×Åw[ŅŻZŪ “q÷bµŖs7“7“…H!-“u^‚R7…Ō$Š…"(†3ļc&9Ļ{lŸc02G"9g<óż~ē33ߙłĪwfž „üžy‚½>š’’żo„,üGB¬æŖ$ä ņĻōgä?#Ńžę9õw„ų~Nˆ?<ų›_š1žwäŌ;?' @žūÉ'ČÅß’üē}’QO¤©¼6™äæ ü ņ„üü„“ßĻ­ż ĀäēOü=łų_ųY„†žH¾żāgųg-†ėV2L~EBk"%OžbĒ_ņķWų’ ņOÉ r¶uķ§µ÷G’Pžp8ŽG€#Ąąp8ŽG€#Ąąp8ŽG€#Ąąp6I¦woSYŚtĪœ!G ą zē.„‰‚sā ¶ K”ś'ĶŸ_$41¼M¤ębr 0œ Dō?ēÜģ¦T6’GŻ‰¬PŚquĪ"ø"-®i45‹?RŃŅ2ö"šŗ$—ų‚U„BļI/•'S£e|ļŸ§‚½„¦Txė7ĻÉ ŃŒqx G`Ó€¦ūb:±·9ä5 ŅWĮMćĖ'Ÿ-PS™?čäå˜JĀ;2µzBĆ~q&c§ĀŹÜ€*N¶Ļ¾yZfnšhɁ‡s6Ś¾łĀpŽ[…Ą2„ į‰]Ät/RŸ>ų’‘Ņ½Ń‡\žļ²7ĒƵ,Ngt…’GŽėź’#u„Ó·V©X¼¬¤tu«rĒłrTĄ¤sØ{l!S}Ķé^™īTĘd*Õ $1NĻ#¦ĄĻ÷ĪB+ī©Ś÷r™ /0żĶRZÖ2ŠŪh¢Æüį ĮŲ*¶¹EźMTž*™ø›‹@(.į@°’ŠUõ$— ‚J²ŸTķō» {åÄ=żŅa$Yļ,!t…÷ōĆĘcč J:Ÿ7‘•ŁŽ‚3ć Š6œ#Ä4Ųf„3€ –6Ź,-“-m—'_­uæžėŌŠ›ŃDĪy.Č=¹_K,Ėć” tyG`‹˜”““©ÆŒn|Ž¢Ųb¶(-oqōÅŚŠmFi°“a÷„`¦[¢«æė›4‰Õż-vJē3FN œ–“÷ˆ.^»Raįļ[ŽĄ"„5Į˜™n|Žņ²ŲŲr­“iŲŸM¶“Į–*²Åįįm„–ŁŽ÷ĶbęĘēmTj(*óä¶įć«ōāŪRüŚ&w]#øŒ \ äMŸmEŗYTųĻ¬Į§}[Q œ·0ø¬Ō<ć±};Ų£Ńa¤q-.lļ9b³=øÜäŖ’wīņHČ˜²r»Ū­'›@ę•”y“Pq©Ł!'²ŚÓ%ĮQ}•žįhg „ ”õ ÓK:o‡<'śfLö剰Vlž›>`b}żƒŲ“ÕM_õ„‡ĻmŅ[¤o/FÆ\z”ēĖPķyyt“ė`Ć*敐;!žŹÆƒd1Fłz™–Ō†žä1­H7ōČĒ¬ń 6ÓĀčŽ=+xvķž C§Ī.ą¢Š(Ö8®}}‡„3Ę¹OéīĘŽ Yõ™æŒR0ÜśGĆŖńä½é©Šō‚į ł ¹v!†®ÜĄ³!²}łŻµ§3Ö} ŪŗŲ†p1«µų¹Č4!‚žiˆ!ŹÅ™]vP0*tLµDwšż›ž»b‹'³ś%aÓOķĆ÷Ņ©ĶČ“Ŗżź>Aų®’ä†w”‹ą ÜÖ*r°åµ;į†"Łß9ž×3‰į\Ļ×ĆĆrb&±œ!…¦Ļ@q³s³ ]o·!²aĄ_į~¹Œd»—jCøäÄYMĆ t .ÓäĪ”ufQLŻ o ‘ˆŹQē·$łi„ō­{rŃļ[‘’WŽą0·@’¤Łįc}n„H> Ō³ pūd2±Ē× Ž_į.öj½ki²ŸåōėUjŻß: P9ĪB0Ź=µ”zžtŠ®šs'j–&U°üDéÓ”ųaAXĶz&§*‰žOĢōüsęŅjȉ“®żÕ„ßĶ x:ˆPŠR tTĒVę\Ļ„p."B\"‰…žY¢+8ć]“©€IŲļ;õž5Bv#ž+ķÕö'‡päü%—ø<7šb’C…d»ńgKKG/Ž,Ņ_wƒä7Fa]]txŚœ¢PYSs¢Ę91ˆAjJŅŠˆ„“KüĮĄ”ÖĖļvՆ‚įÄĢPN`Ł@ŌNlWżÕzL‚lšŠRŸē²2mxÕF[6䈳~£,ź\āŠł¶=‚Õ Ž™‰I928Āå’.Ō®S5„R,¼Jé©/l7r£«<ÕŚĄęA­éķ¶ŗÄĢ°vvņūBbpUA„łģĒzēG©Ņ@ąĒÓŲjtł:P*|nÉ8»gõ_ūŽ+ļø:'®P­ĶŠ<ŻØŽcŪBQdĒ½ŽGuc›@D0]] DˆPz©„ī%æ÷„…ĢŸöój©č„ŗ;Qēņū;¼':Šš;\øäś*@č“ĶÄ­T „ōĪRbj ū  'Ńdp#v Ā$/ØĶõ8oÓB*ušæ@V’ƎĮQHJ©VV‰R§ŲłØæˆLÉÄTßģ S7ßłjfĮß3żÆÄG霘k“9ćaČ0.ÓŅ†ˆoB>!r'Ź«m»ŒN'і?œLX\­ Āś3Ž˜l2Ėn®©`lyæÉ=ķdD°“QC<‹±ąŻ}Ŗ½ÆœˆßėøyœŃD=7Ŗʙ .¦2:äXÉĀˆśy jfYŠ}£ņ÷Ė՛·²(ĻjĪnX®ĀõŅņŅ zuo“CXŒæŸŹÕĆW«Č‚Ęfß'…xpā™•”Ș¦Bņ3ĒŌwėĶóĖ÷¾æs7c+˜Y[ŚĄf${Æ Ü]#ØWF/_3¤÷P@g¬d×p½6 ĪŹ“²}Ķ’Ž`.°v¢4ļdZr“—ÉTĶ¤ä‹NSģŠ/ōĪī&ęū½čģp–~1§Žns{™ŗzŽ{¶Œ®&G€@©”ˆéēj²”ÆɬēCµÅØŽcåØŲ"Ņõ$€Śļ ×Ū‰8Š¹Ÿ?`’—æÉ&Ķ:‰šC^ėų@ųO7$Įä ×ŪäÄĆQt6^ŖpŌ„c=£Ļ—•-­µAęAŖ€Œ„]%‘:U*ķOŌœĮÉāób Ķ¾U”Ķ%ŪÆ@揘ō_X™»’eg"¢j •M#D›>sR>"cpUF„Ō Ÿ8_I›-šFø¶lJBv²·Ęµ}JĢŒ/Ś\T€c7Šb”CūĢÓ „ĜŽšS`śłŚŁ‹ƒē3*ĻŌ˜©ļ†ōŽüšąiü)DB±•g¼æŽ÷¶Ž—J²žO'lžÓ{ć’üåšõ„™‡½Õż=ųl71Aļ±[\kĮB”™śOŠ²£ōˆœŽ÷[«Ō\L °Ś‚^ ē£h*eUsK×c¬×v>ļõĻSĮŽt ņr2éń»_VŽ:Wo©čØ5‘…o“¦ē×ęeK…_!ØOĻ'Ģ/D&¬Ä®tRzR©ā0"ŠŅŹp…Üņn *ś9?U‘3¾*<£^æuŌœˆØW„aU|²6Ød0=‚Fˆś”Śė"©“tŒäĶ¤2u‚“Kkt0ĆØé‘MįĖšLzSR"d{ŃĆ%Ör5n…fģŲ<ńĻ“¼ųU6ņ 7¤÷0Ӏ3aŖéOÅT’iäZ¼É“9½Š9%„( ‹č>Kž`Äåm‚e ęę5ÄHʵ6(ĻkӉßYz„BX™R±Ė&ľ>žĖĪü]æžqų”jnézL„÷»æŒH»Ŗš›ŖÄO#g—¤8¶Z(ó\&6²óśĶE"Tc¾Æ±v—ä7z‡ķUMy蔦dŗ§9yi< dĀŲƒī陳C0Ē¦īaKŻnL<ĒŒ‘Ė+¶Ŗ tŅ@qĄŁéX ,ˆU0·ž;ķł lk€¶IÅ×}ŒŸ1SŗHbó=š–„ŻKȏģ *IŅ? ɦ$Ļ֔”ŖC\Ņ˜]óUČ©ĻĮīń&›ÆĶcūāņ… bnĢ³zļÖ"-Ææū=tš×)žŁß4Ť&ŁÜ %/Ę1 ž&oōbPNL³Ÿ`(ĖØ÷˜ńŌžč³-M„gŲha„SČ¢jn „T=¦Ņ{ŒFGĢœz-TVżœE“„ĘGč=fe¦³l¬Ł”9oe„;å“–Ć&ņąĘŁŒ^‰Æz™bßÉ~”ę36ri“åˆ9É«½£.oóq³˜ķŹu~Ŗ "'5ģAø00VYļ‡Ł¹Į%^¹ą_‘rčēv$…oōŁ|ĶJĢŠõŒōhŚō“Š$é/yȦŃ~(qŲK\Ņs…†Éž^"äŌēŠ™OwĒ0RJķ8T"åńÉZtyŹ~¦LŚ­D¹—-‘­ē¢ŚĆˆ—źYĘõo±ÅN`6‚™…{©­*½¦õĶSbn:S%ĢõŖZ_6ĄŁøē[]Ł¼p‹Mļ)ų§ėIüt}‘Z«»öb­āȑKĒvQyJ‰Ÿś‚*ńń˜TŃų†[ņŪoĖر™2†ŹxjņC4 B>•iś;ębXE<ķ–&/§’ŗi!:õźįĶ™Äés˜^,ŽV};ÖéĮˆŽźP÷: ƒŪzč+fŲWŒ¬nk[ģ„YZ SŲ:ecŒ˜¹Ic`¹N.*ĄĢJ*•¾@Éoź Ś;nč­f—4TSé¤æ³Š1Õ„cvÖo,SsEW%ŖĮ`;!BcdJ$&ų± ļ//XHŁ5•aķ{ø®QAČÜ° ÜA„é¾f&Ž„iY°eöpfBék¶PłRMŹŌq“—]Ęj]Ŗ.eB²ŗĮŌ/TĮõ1iifD%’m™ZÜŻés®²ļ)ę(ü'»FRĒo÷dŗ«>‚uœ…‘.HÅzpē#s«Eh€ŠżźŻÓu ܟwV\›_(Æš…ė³Ķ¼@Ž‰VwPĆ„J…ź“E×t)%D›—*-ūDµ,'•lwäIžł\CŚŒRQs ·®źńŪ¾9ĢĒ­„¼ßV•^OR%I‡lķƒKbĶę°NśąČ ūūr÷r+`dN[Ó*r²“镜EXælŒĮN¬JUĄĖś¹°\Ąšuķ¬MōX¦”ĻĮ÷ņ¬,Ų›ßń™Œ®Ķ„ Ÿń –kQ|¹ŽłvO·»© £JQÜ¢õķ®¦—ĪõĄ%Ciąlśc&üX^ņwTÖµ0?8Ļ\š‚ĒŖEŅŃÖų¢ßoÆjD‹4@ NČ“ģX/ōĄ‹U~?ó~a.Ē€NåĔ¾łżIŁ»«“‡Fž½]I®(3ŻN²ūäye`ĪYćfģuō„Ž8}®G°y¬Ł["ž±­ī_Ć”gßMē™]põD7DŃģļŒ*j’†$Ū½ĮĆa¾…ØTĢ²wŚAą­—d14ß`ÆŠšÆcŻM)1i/f)P¤¾@ĒÖ%§°# ˜?>‰£ł’&Cœm\ ‘čYĻ¬,¹żCAȶš¤‡ģżµĒčŅ¤žńąN'~{ö¢¹“Ę!×OŌ(–œ²ż@iKwŌYC‹Ø¬Y«R­‡>¦xoE„ź#Ķš’t Ä}ųš¹÷æ_½ģئv‹*Žģ“„­©kDg¶»D×#›Ā“o|µ©ķ„UGLDČø®½.© 6<ģl;P}åņ…gƒŸ@ėhø%³&PFLćp% F_˜Žsrõr‡»łÖŲ>Ēż‰ž“ļŒ "”®īÉõóG•YĆ½}6Š/ˆ.ü”ź·Œęü^L‚æėš‹.q‹äĘ;ĶJ*,7j{—y’¢Ä’ŅŒéšĆń†Żš@šƒQiļ÷ ˆžBY"QņˆĮ³ŹńOłi=/ßJr ¬y90ŲĆZ†Ń#gY®qS‰/éśĀõ^ŃVƒĒP0®÷ĆBW²¬­÷zā«‚ķiØ,<ŲĻrŽļ |Ī‡Ć%^?£Ąõž;ŁrøŽŪņ"ŲB“õū•i­õ’ĖõŽ4g­B€ė= Õ§¶Ž{¬ ą™}¬ązļ±*nUf¹ŽSĀ?˜Ž3“Ió1AęqČ&×{C)ó<¦#Ąō^ĘcŲÓ#󐆻:9Ūz®Ff±eG=ģ&ĀĒ~O¶ÓŖ5’óŸ8[‹;‚ė½­-…­āĪJ?ēõ+éāaÓßÕ±Åč•ž÷…/®w=¹}(HĻyązļq(ålydēóƧ×ĆÕ]‡­-ģŲēl\x8G Ų`÷Åē1Ó)¶Œpyņ@`żÖ]āg÷„ō\՚‡x< G @0ĖvĪ v ĝ“ŻZŲīģņ”ŪīŒŹĆ³ŚŁ‡7ńĒ/r°3wībāõ¶ČKŖ@ā­’2vØĖ>¬»@Čs²[ˆ“¬ ĘpJ6Ÿ§la)l!k„ćS®^ĶCLž7‰+³½y¤åI8›;‡ ā&µĶĻē˜”øL„ė1t`i¬†x×s dbó$¼ĄŁĀBIgn ysä ‹ 1™ŠByߦ‡cĻ©ŌŅØó’ŽbĖ>—ē1D€Œfō‚ÅĒØœåeÜ<žŲEL÷"õF/GKŽZ2ŗx¤µĖ"ŗø©dW’”5fÜŪCČT_³Ń æ“pąyłlšŹüA· /Ē8Æķ;»|õēsÕW†ę-BE¤Åµ"źOČb²Qߊ[A*Ć`ĢŽ@‘"€ŠśÅtbosh=wŗiŽøXy!€ż¶žI³Ć—‡;Ū«{Ź.¬ĪäŜ'ālĢK’9‡šąf7ŸįnāŪ„®”½{kœŹpėćG`§!€źżż»;ūrŲVf’‚×½>RžO¦’¾÷ćĻŽæßąļl+Kg%Ćäżäoā>Až _’?ŽŚĒĆ43Źäp8ŽG€#Ąąp8ŽG€#Ąąp8ŽG€#Ąą~ĘBA`åD‹~ĘBq”CI±ž3µŠ(\Ž@vų™ZŁ±yĮŖWē,‚+ż Ձ©hi{ĖuI.ń«J…Ž“^*OęDŖž ö–šRį­ß<'/DsĘē8E@9CÕk¤Æ‚åʼn?§ˆß‘©Õö‹ 4q0;ķVęō”Ś7OĖĢMüŚĮāƏ•„µż±Āį1Ļ¬öI?Rŗ·3ņĖ³ń]öęxø–ŗŪ]!¤$Ճ=õ=R'P:}k•Š•A~wŅc^ĮŠ-ū0éźćw$[¹l²<Śwbb ü|ļ,nŽŪSµļå2A^Ö/Ž,„e-½&JńŹŽ@± ĄļÄ,–’Ų:9rŽŽJ²ŸTķō» {åÄ=ż’b$Yļ,!t…÷ōĆĘc~zĮ!.nl8Gˆi°ĶJ)f,m”YZ&ZŚ.O¾Zė~3üש”7;£‰œó\{>ræ–X–ĒCčņ ŽĄ!€+ K›śŹįĘē-*-fū€Ņņ¶A‘¶b›Q,mŲ=!˜é–čźļś&Mbu‹ŅłŒ‘S§å#­Į=¢‹×®TXųū–#Ą®A7ĀĻ[^["[®u" ū³ Ą–6ŲRE¶8<œ#°X„ōxß<|«Ė„xü"” . [%-ē»±„')!Žćf²:ߗ‘2lŒ.z›Ń9Óה1äl;XĶĻŁćo»|qõ ĄÜyƧ+g'!ĄõŽN*M£yaV®÷ŒāĘćow˜e›÷¶{9ę'?×{łįĘSmwō¬čm÷œŗėvļ8܀ŅD6Ix8G`3`zOŪƒk3åį¼6 ½1®ĢÉWū:՝’œė½Ķ,YĪK®÷“ńŁŁæjė=,ę†F—[­¢»ÖóĀõŽĪ®KŪ+w\ļmÆņŚXiµõxa^ŚŽ?#IÆ“»Øó—Q †[’(cŲB5ž¼7=š>C0QłūeƒźMˆ[Y”g5g7,Wįś iyi½‡ŗ·É!,ĘßOåĪźį«UdAŠFc3‰ļ“ŒB<8ńĢJJ dLS!ł™cź»õęłå{ßß¹›±Ģ¬-m`3’Ę½WPī®Ō«ēMde¶W?2†ō čĢą‚•ģ ×FŅY™V¶¢łßlĆÖnB”ņLKŽö2y€Ŗ™”|ŃébŠzą…ŽŁŻÄ|淝ĪŅ/#ęŌŪmn/SWCĻ{Ļ–ŃÕä(•1ż\MÖ#ō5™õ\££Ä4Ŗ÷X9*¶ˆt=  öū‡ĀõöD"ŽEtīē˜äåo²IÅF³N"ü×:>žÓ I0yĀõ69ńp—*uéXĻčóeeKkmy* cicWIēD¤N•Jū5gp2ńFąüƒŲEC³oUAhsÉö+Šø2&żVꮤĒAŁ™ˆØh„GÓѦĻ܄…Č\•!µĀg#ĪĄWŅf‹¦®-›’ģ­qmŸ3ć‹6 ĄŲ “X(ÅŠ>óĆ4C)1§7üŌ˜~¾vöāÄąłŒŹ35fź»!½7æfxZ ?ÅC ‘PlåļÆć½­7Ę%ń’¬ēÓ ›'ĄōŽø$9|}ięaou?A>ŪMLŠ{ģ×B0„Ph¦¾Ä“ģhż#"§†ćżÖ*5WÓ¬¶ Čł(šJEYÕÜŅõėµĘÉżóT°·Ż‚¼œĢcz|ĀÅī—Ձ·ĪÕ[*:jMdį­éłµyŁRįWŖÄÓó¹„Ī%2a%v„“Ņ“J‡–V†+÷ז6ņn *ś9?U‘3¾*<£^æuŌœˆØW„aU|²6Ød0=‚Fˆś”Śė"©“tŒäĶ¤2u‚“Kkt0ĆØé‘MįĖšLzSR"d{ŃĆ%Örƒ•„®>Ō é³yāŸ=&yń«Œņ4¤÷0Ӏ3aŖéOÅW’iäZ¼É“9½Š9%„( ‹č>Kž`Äåm‚e ęę5ÄHʵ6(ĻkӉßYz„BX™R±Ė&ľ>žĖĪü]æžqų”jnézL„÷»æŒH»Ŗš›ŖÄO#g—¤8¬Ź<—‰ģ¼~s‘՘ļk¬Å%łŽa{USŽ:„)™īiNŽCĄA™0ö {zęģĢ±©;AŲŅF·Ļ1cäņŠ­*4Ppv: bĢ­ēN{§G>ȆŪ mGRń5DćgĢŔ.¤ŲQ-ĖI%ŪyG’§G>א6#…Ō@ŌœĀ­k zü¶oóq+!ļ·U„דTIŅß![ūą’…X³9¬“>82Ćž>Ü½Ü Y£ÓÖ“Šœ,mz%gÖ/£Ć@°«Rcš²~.,0|];ėc=Ö£ičsš½<+ öęw|&£ks©Āg|gE`‚åZ_®w¾ŻÓķnźĀØR·h}»«é„s=pÉP8›ž˜‰?–—ü•u-ĢĪ3—¦ ä±j‘t“5¾č÷Ū«ŃāĘ# Pƒ2-;Ö =šbcU‡ßĻ¼_˜Ė1 …ƒS91„o@~RöījĄķ”‘Æ@WžĘ ŹĄL·“¬Ē¾y^˜sÖų‚{=”7NŸėl«@ö–ˆl«ū×pčŁßwĮyf\=Ń Qōū;£ŠŚæ!Évoš°@˜o!*³ģvxė%Y Ķ7Ų+4üėXwSJLŚ‹YĖ:¶.95€‘`ĄüńIĶ—4)ząlćjˆDĻzfeÉķņB¶…'=dļÆ­†@£K“zĘ{€7:ųķŁ‹ęŅ‡@^?Q£XrŹö„-ŻQg -¢²f­Jµś˜ā½•Ŗ4Ć’Ó)÷įĆēZÜ’~õ²£>˜Ś-Ŗ8²O–¶¦®YŁī]l Ó¾ńÕ¦¶?”V1!ćŗözø¤"€Śxš°³ķ@õ•Ėž ~­£į–Ģš@1iŒĆ•,}azĻIČÕĖīęwXcų÷'śO¾3‚Š„ŗŗW$×ĻUf ÷ōŁ@æ ŗšSŖß2šó{1 ž®k.ŗÄ-’ļ4+©°Ü|Øķ]꿋’K3¦ĆĒoZdtĆĮF„=¾ßƒ z e‰DÉ#Ļ*Ē?å§õ¼|+Ɂš ½źč¹#Bš£«X „OŠäv¤õiįDš#KƒC˜J¾P)ž_{WŚĘE÷RzYŚzéĮ` ©1:ÄäR Nh0ĀŒkZlCJJ q[ź`HŅ‹J[åāŖCŒKu°N%-ŲĘ.„P‡Ō› ‚mœ4Mm5nŒ\"[Ū'’dŅj5;²¤Õī_Ų]Ķüł’ĶčļĪŸ’’䬌NÜ” #Ä‡Ę Ģ&ŠDs—Ćs[[0PŹūEĻŽ„ c‹(}ÓŌ ÜŸ±Ø°øhšä„[,č搿ÄÉżLīżooĀ*‹é@•”ėĻöč俖2zO†ééśĢjGļ%¬ŽĀøw{Ę½uń«é :o9%¦CŻʎāĮśbLšV :›Y#1½¹ėÖŪ7RńųĢ*­/G»üŁĶyӆÄMQ÷”ŽN3 ńSщoDļ ?b926m=ŽŌZəås—æó·w-Åߙ]Żīł"UpĘÆ=ž’RüƒŠ$¢)•µ1¼ØJs]"<Š×›ō•3y™ŠCƒNĶ—‘^ź2„ćŲ›ō6= CėI&ń/¦¬,¤ōĪ4ņ”–¬īĄb¶ōńĶÅÜ”č$Ķ“˜»½:SīĻ„ r­é+°$ŖŌ‡·ś“B‹v' ēŸĄÄwv|eȧŪŹļ±ŽxĘ÷’ć§ucoÅł2*p?žÖH¢ŌņiAjiĒDā¤ō:u-}ėŹžß-Ś=šŸ62¹ŻĢcUŠ{‚ø–]»± ¼WŽŻ¾xćY–DĀ Ā{©“-O [ō Ū²{ŽĒŁżt¶œĻ•)55Žąg›NĮ³ ļR‡Z+R¤ Įp…+µbIVoŠbpPl=›ś(˜Ė>’a£N¹§õ ‘©Õ\ežģū8ĮF*iā£ŒbB½˜†=6ńŌ®¦Ÿ@tó±3°½ˆ€Aę1T~^N÷]ŗ> ‡ygJ6ØÆ2óœģPˆi1ӛ2ōM+Źß¼1ZĀŃsķæż8GłŠ¶x[Ū3Śś“]ŗ¶•ĻŚmć°ÕŠ$]¼Rbƒ¹\d$‡Ć !„ĮšÅÄpøbBQK,žō…iuĢį¢)³G^C0—[g,¤¼ƒe÷ä:­eĄ'’Œ±„[Æ…M×蜌NŸĘ&`2­Fļ öžž›Ėeóī„†ßDj§5Š§¶D-č—¶hė%šøÖ³›s¶*ŠĀ2¼Ń’å@@Ļ¤ĘEE['2­H$÷¶B ɊMW cļ·ĶģP4yŅ¶šfD|h°-öÕ`xcĻnŁņ¦C C6Ś_£ā#Š Ńøš/B3\ÓŲ ŅūŽ»[± Ą?1‹Ą_ū^Š{‹› Ø ½g±ÖObŠ¬>Š{Ķīóš‚%Yļ¹`ĢøF I8öŅ!Ö5r± &ėYe£7½#J”ø“pĘzÆbpŗ!Ąū©Õ j6D±ŗzļŸœŃ}u‘Ö2` q4¶d”4Ö{¶@ćĀ5E€B®ų}Ʀ ;–8é½r p0¾85Æ^ö°–a7å,IķœŚśņ®/¬÷; <Čė=vŗŁZļM®ļé~Ø,ˆg™ˆö&mÉd[o”(°Ž°óIĆ`½×š.h Öz~%­Uż7ė½v47]„ė½"@·ļ©±W}2JźāādŻ5BžÉ6$“ģŽ§%›ē) ģ…6-|bėUf0eųÄēß}rS”.Waź%„Dr”Zģ¤VqøEė9Mļ©ĘŠ„±n­·š] Ųę*Œ€2Č-¬·ÅÜ”[äŠNC`5gų{Ź»éįqr-ÓŽr^r“§‰ĻüxJŒfwƒEåb‘ŸcēŁä£·4ßSƒv7GĖļZ²²óĮű˜M%.$nŒ{š¶1=lwĄ» –å×g†ļH4~JĻ=O1Œ€»ąŃīīž•—sÕo¶[ōćS#įŻĢŠ|E*Io} ßĒ Ę|0EõīföÄp¢š=Ż*³„„āmÆĪżłfØOĮƒbuGƒśŽö¼Rć\‰Øä„’aHŗ4Ī3Üz Ž$m`KŁ‡÷9øõńĮø  ļæ×ŗ{sX·õĖĆ0Œ#Ą0Œ#Ą0Œ#Ą0Œ#Ą0Œ#Ą0Œ#Ą0Œ#Ą0Œ#`‰@ūIėų¼Ŗi£/Ļq9śö‹ūÆć¼ē‡šÉÆąó>oä/pĀ'ž?µKłr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytMCr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt|eŁ(Dd …*ččš0² š # š A’š€bš¤(ÆÉ»Qdrłō‚vÖ’€ćGwnšx(ÆÉ»Qdrłō‚vÖ’‰PNG  IHDR+6ł(sRGB®Īé!IDATx^ķWČ×Ēļ'÷Mcc{ˆ>D‰ ģkŹƒ1*ˆ **ŲEˆ]Q‰Š†XQL°¼X±×+ÄBŒ½ ×boILŌ×äžNV²ŲwĻœ9sꛙ3Ē3óš±æ=kƵö•]fĪž²?’üó_é•""P *H®—ŲÕ«Wß¾};ÅtēĪ°ĮjĶš5aq+8L`‚sīܹ_~ł%f­z÷īMā”)SP)f}¢<`ąĄ½zõśź«ÆĀÕlļŽ½÷ļß‹ēäɓ·lŁāŹ A÷īŻ KŠŻ»wwļŽ·‚óŁøqćśõėU \ŗt)­ˆdŸöŌ©SŁ$’^¼xįz—[ń'‹ĄČŒ@F§OŸb¤={ö :Ōų³gĻ®~(Ė?1F–¦Ļ1cĘtļŽ=›ÜņĖrrößS?hŠ¦ģÆK„‡Ō7ß|ƒēų闩€Eļ”cĆåĖ—żšOMĄüķ·ßŽzė-é@õźÕ„pųšįŃ£Gćń¤†ń‡©Ā Aƒų;cʌ7n8(·ˆaŹsēĪU–.]J #Ŗe{č!ę.Ģ_”§ ”ßŗu«Ź¢YüEÖõė×¹‹ÜćĒļŚµ (QO\”G š£?$Ńyóę™ü©¤9ł¶S§N&”é&Q[¤ß¼ym³ J‚įsźšĒ˜4x¼Ä˜``ģÖ­Ū”C‡ØłłēŸłW­ tcĒŽ„ū&z”W­ZÕ A&ź’łė’)ŁŠ‰5į#5p†” j^æžś«ČÅ /_¾”[˜‰©Ä|ü Üģ‹/¾ ĄæhBų'wŹ ².Ą¢ĻĢBĻœ9#Ķ15xē­[·Ä6T~ņÉ'ō_Źä_!ž3gØ=žœ5j”ŌP€-d5jŌ&Źłķ·ß^¹r%wi²Ō#KSƒżhB ō‘†üå_iŽ.©ä/źµjՊ†”{öģ)mU+4gŹ*lÉą‰hh…P:(}QžŚ/JA{Ū„4Į"\Ŗ =RœÅd«–-[RųņĖ/‰„ĎŌš/čA ˆ¶Sœ•3„œ8ĄgŸ}FAk‡ŻM4ą€Q„ó»ļ¾+śˆ)Å@$>‘„f•»č Ŗ&š 8ĶęĶ›éÕąĮƒ%÷ąvćʍ«_æ>yŽÄ³cĒHu~ų”•ĢNœ8ńĮ0U芔ƒ P6l`„Ū>śØ]»v „M(·oß~äȑܝ?žŃ£G¹Õ¦M›Ÿ~śiķŚµ”eµYŸ>}D–-“Ģ-œ†ł52K©P”‚5ŃjŽ¼yæ~ż xüųqÓ¦M!£ūöķƒ˜1’žżU«Vµś"ŻTYVĮI\¤5ęÄD@ʂ< Š©S§cĒŽB²śŗxń¢ _Ų‹Ē:E¬Š·o_é»Ā%;= JŠdQŚxQ:uZ·nM=ž`ĶBwīÜ9iŅ$įÜØQ#¹Ėjęøó2ŃĒtÖ®ä ōyųša2‘‚p0X“h’’fŖT©"ÄMŸ2M- UKSÉŠĄŅtDņNi¦žb‰ēŠĄ„OA#ņ^ņł³ĢˆHŁz#PBėĄä»BėĄä÷ŗ”5,­u`ņ-N“o£Š5ĢlцĪ4™ ļŚ'MĻŅ\©&Ķ 1ėó?QYvĢāxS>f‰łŠ‹"ņŒŃyÜC¾Š„ōŃ!PBc`t †Å9Š1_Źń;²°4Lł„Ž@ ķ…†Ž]č £Q2"¶”wæ4¦˜ »G1ę|C0Aż/=U°x ­×­[Wz&ĪĄqI%Ųń¢črę%rŽĢ–s£¾ųŃŗySŌāŠ‘ś<°­V3Ļ£˜łX:{ŁĀŃLåŃ5ę¶(\D'ŸĒ N*.,2?Ś‹—+=ĪÓC“,JÜ¶m›}Ķ]6Š œ$§¹qNs¤åĖœ§šœZkfŽ3ŃĖ—aJ_@2ćæN’—wCæp6ę˜*N 3Ļk2qh'%s*.T9õˆ³Ķ)£•y`s(ŗåÕSFŃ_Īrö¾čˆœĪ%”rŽ6B9„;WėæļēŌp8‘29hœ8D’ZgK›ā@•V>HÉbFŪEUHPIģ™ē—eėī‹* 8Œ~rv={f ŚĄåōo'gt@+:BwčTNŃ#E<ž÷”yN ū@@2EKRCĢs:£¢‡ó’œś§1#Ł ą—Zā|Ū(ćF^!Äɜø¬| ¢+pOe<”8Ģ9žrDćæu£ŸNłŌxƒ’šös ¢ł‰ ?:¤4q"@†¼äąqf՜UĢɼyķ|rĘ6æŲēlÜč&å Œ9apć€}¶õ/^œķčhaĪé±.\ąaĪĪWœĻ]1Žˆ†3ėgļóæEśp~~¾0}ęy`øź~žłē8z=ņŻJ‘Ņlßd EI6WŹÉGńąC|ņż?ž8€,ėƒa8ä_?ßå-ˆcŋ÷ÜīW“š#CĪĻŸ??}śt¾7${‰>÷ōÆ^½ŹńõGŽ‰A?#†«tŁŃå3O|s—cŲ頇’ņ >]GŠ‡1öŚµk~¾DĖPĢ¢::eRĪåA€į*’7³%łĘ%ÓQ7ēž¾|AŽŃC›½™ņt,¬¶ś4…„BZA=ł<ĒÅņÆI“&|G!€>g”|¬jęĢ™ē(é3ĶP)m9>W’—§²‡Įž„sO_>2!ßå„?©eˆFœŲ’ža`żźī K~vA…„Gģ'Ń¢‚šœ;7¦Ž¶Ļ`°Ē#0 ŹÓ1³5æ—jŠCzjmģ ±ÓÄÜŸā2{%>wĄ}rt%ÓgkÖ]¾k%n$ąŹ3 <^?¶Z”Ī¶yå}’éGb€Ø#6$ŽdÆR>œ×†°‡†DwŁ1֐†9ļ4ń<Š{ÓTåĄÉ怑>:Ap}>œ8łŻ“rnČO#<śļ|0ˆėąµf=¾Żč—Węõ4…¤ÓŃåŃ|¾$¼5äŻóńƒ<«ĢįEōImąFgž%×Po)ÄņfBń^$—2ņ(Ÿū‹|²›Éļ9 Ó/O%Ąõ²Ŗy3›ü–ŠŽzńF)“Ś„@>KVŹ'Eą @€č‹ļ×IĒ‹ųD<Ź“ŖB’„;[¼·½dɒxŗJÉ †„ō¼Š¼‹–8ŠYh“§ÜĖ‡@Č³Šņ)“¶N(9˜…Ęń Ż’Ć5ķpŠ€?2o„…øćOhĮØń &»p‚y›Ēօ“ŸJĪÆĪ‡ürv y¢øwļƳ&J„T“oųˆę#±M>žÉ×0üßF$æĻ%Ø”Ļ¾K™‚w9³Sp%bS łē…F±"ØZµjśūĄŲ|,€ z"˜›¤Ļc¼ąāž~"oé‘yS¦¬LžrĖ£  …FZi‹+7'g]®(2ē ’ĆYUā–Šė-SīŅJi”Ģ”īDߣq””fļ“ŅŌĮRŅŪŗ–ŚŁs…‹¶ņkzÓ@N3y›Õ²ea.Č;ĖNK)P®kN×^øāouŹÕI²¹„ÉŠĀÓ ŽŁ;W7MoqĪ†¼ÓØ*[õź’Ļó_eŒÖŃģIEND®B`‚ADd …*ččš0² š # š A’š€bš½ž G|””…›rG³Ō£Ä’™ Xwnš‘ž G|””…›rG³Ō£Ä’‰PNG  IHDR+6ł(sRGB®Īé:IDATx^ķGØĶ€’µĢ>Aį©øsĪqa܈`BPŒØ0ƒŠ 1€˜Ń…¢>0!FLˆ_Ģ śŒŬÓŽ÷y Š~Ó3sēN:gī™^ęōTWUWčP}Nu•ßæ’•—\¹ $æ D׏ģŽ½{_½z•człņe\„@Āø°eĻ×Æ_ļܹ£Ü"„EPˆŻKņwļŽ?~@< ļtlĢ˜1Ƈß¼ys¼¬Ÿ>}śõė×qį„Ļ£GŗbƒŠ›7oā"Ļ§NŠ [Vš<|ųpĶš5ŹķŹJ\Ģć?AP½{÷īżū÷®ß¾}óĶĶ±#”$`Bz CĪĒ:tņäÉqćĘįŒŽ6,$0×ĘhŽ”AhM™2„wļŽéF«RVĄ@O•z„™h+]NØ 2$ ęséŅ„Õ«WğXHüńćGÕŖU…­:uźČ]š:u*ĻƒŌ0’`ŽL•|.Z“čłóē˜¦ <ų0¹bÅ ķs)52£šzŝŽ“i“¾@VŌčü6oŽ<*”ÅēĀ… Ÿ>}Ź[h]»va‚&@Āžø *ŅZ±ø‚7øUüTŅ5 «,žumc>‹ūAżŁ³gB=9Ķ'fUÜŹ•+ ŅīÓ§ŗnEé™—-Ļ™#pjhpūöķ/^¼H=~ŧ¬0y* ÆŌŗśöķ {–£‰¼:~üø8'Zƒ Ų -l`Żŗu¤ØIlƒ&X²Ā_ˆņåĖ&–Ń£Gß¾}[š#jčē‹/DLTŅ=`.\ø |ąåĖ—Ož<$<`ÓRĆ5ćŅŅD1×­[wĻž=¼O£ŗ|„ :T€}hƒĆvķŚŃgŚ ŸŹœ9rDŠnÜø‘“ih…Ŗ蝠Ņ¾hæō·4!Õ,61Õ*zió‰0y@†Ķš5¹ń ’w(Q«ŠJaŠ»£ I°įŸ|jØ^ˆJ–Ŗ˜zхā¤”Š29×·˜„Ø;µrÄI°Tś)ŹsžüłéÓ§#āęĶ›O›6ķŲ±c2P1bąĄ|hÕŖ`ŌČī®zõźgĻž­U«Ļ@j_\ńŲ••µĘT«£={ö¤­µlŁR6öL2čQ–H¬MXdŹŠQõŹ•+ŅœVŗŖR„÷īŻ«V­ÓąöķŪ”ˆ^PŹ„  M›6&iTŒ× ’nŻŗÉ“ĢW&F&:¶N(×Vs/ĘüąĮv•i*+¤J—ęĪ‹QnŲ°Æ¬jŌØ!¬×¬Y“]¢>Ėƒn“xžoYĮs(ø+5ßæW¹›Yóöķ[*Y-lŁ²„qćĘõė×]„e õ3;uéŅ_rƒ,­Q0<üSVXoĖöõšįƟ>}B£Ģ¢@źrĖ4A·LS©iŅBęæ~żRŠ<ć*^ZŲµk¾ĮHĶüƒ`Ķ½†æč~žüÉąŽš)k×®mŻŗ5T“‰c/Š~õ•>ą`ø1»xńb[>sęĢ 5xšą4„­š(Œ2'ˆć±Õ¹ĆķÕ«—x…öĒ|fD”¬Õd+Č,§»G†(‡>4ŅĢ€€gA:9{ölF2ę1¾JčeŁ²eK–,‘Ž† ŚL=oĄfĶš|‡ØaQ”“­¹2dŒd“ r=›jŚ“)Ž-ųĶ1ŅĖ¼ĄLץ@Ōƒ:%n„"Ł`v-Z“;v,oM ŪP'dR/*Ÿ‰™;vģŪ·æb&įd‚ÉŹ& Ɖ'ĘRklĮ‚āČż­zg}„“¼„m$XĀlÖ AÖ5h‚Iķ`„4䕼zęĢ™;wī”čŽćĢ,y$,Dš xŽŗ2»Äžač'Ęm†1Č*NfŻćR)ó-&‚“ŁŹŒp˜Ą“…²Ė·i)6 P#š‚ßŃÄĮ¼ĄkwhāčÆ0˜„£Šø” ZĪyĆŹ-æˆB²®;vĻž[Nņ’K ’I ä*4M)4iŅ„=CšsZ¹R“@ęĄŌd‘Ź%¾ŖČŽFĀśéąC^I„łl~uŌ+0>AŁ €+6Z­Qx”åJÅÄovŹlė8Ü3{źĻ¼C ^’‘®ŁØüįķH½— “_ųÖĮ-ySȦxr³µlcbćef®Üŗš¢ā±:ą½¬ČlčeŅEø‚ŁĘęUS…ŸtźŌÉÖ®CŚŽÕ@EFYūų­->ӌrtVŠ¦łø"ÆnŻŗeŸõ»Ś-b”"'5r8•×0”¦c;¼éö:9|Ęģø«»ŚŽmJŌpFĒ!*ĒāŽ±Ę•œ©h‡m«õ±E“7ƱĘGn®S‚9R8ĘĒ€eĻ%¶=;Äd”ōrc‡¦ģAĒÕÄ&’xąēĻŸM­¬ĻõźÕ‹ŲS9ŗ4Ėš Yqš²uėÖüßFńk›Ģ@$&.9š#z\8s<¹"JąļÜ.#J°ų›—»Q)ž.Tb’.ßOqJQ‘üŽœIśĶķķ_ś<ä½$PB«ŠčFĄ/åŁ*łXĢśŹ=°˜µ“óVÉ%ĄąXBØ’½ØäZµŗW:,j¶„"1üR>¢†|rrEĜ7/M 08–P$&zŌ—O§üźŅ“Ė’źu ĶŃõŹˆ•Å]ō”'ŗčr ž±Š,šT8uFļiFM9zĒĆ ‰Īū÷ģŒŹL,(ŲtŌ}(Ép ×fĄ[øQ)÷Ą$Ģ)œh6ę} [¶d,fö³³’ū¬Ŗ¹-€ģ4(•· ¹.‚Mi:ŃN걯»wßøqƒ“³ü\ŽĮ^'’,ÉłI×-¹¢ %ŸœnBˆŁå2G’ļW4”"‘Rī[L؟ %Ė½?r²ČhsWČ••x9d(-!Ė 2ĆG?M)—P¾bö@²‹Ėõ}Lƒ8Up?äöīŸø|łrr"šŸÜ„båÜ'ćs 3½“;$¢&[ę½=zĀŸ 0ÅłąäĘ n¶ }”¬—¢óœcHB1{ °(~Č­\ĶĮHŹõC¹R“å–^Į‘žė×Æēā Ųąf5>qȄŽC$"Źķ"ÜxĮ“L.p’É QȍNēĪ gż9køĪfÆU¼‘{{JōBĻ$ģØ \į 7*’„FzbA‚õ±l…% i KĀ*W»š`Ž !ŠY‰øź­£A0Ė‰\+Hü#76Nó¾Ń  #_ūM¹¬Ó…ņ.óįč&uįąa‰:ź ~Pįb[0ĞGl.öāz¾G%'lŖu‰OR£w°˜lD9dd!ŽĀÉgĄĮ±p JüS.·įA"¢ÜTQÉd%Š‘ŠG[MRé‘VTE’ĒSėƒIĒ¶ē~Xg@ !Gף+7å`Ņē 3Źi.]”ė‘™ńpW½[Šµ«9ZUØūY™é,Ć“,ˆĢ"G Ž1‘ÆT&4XWH¼Q€±ÉŹŲKo#¦KĖnĘŽmŪ¶å—Oį1ęŒ½¬vĄHĮÖõSjä+E(…JĻƒt„ļcv;g,”˜iį)L5ś)5ņµ°'Z‡ŠØ§$Ī#²¤yž/4ˆ” §ŖéF’±KŒēyĪĮ*½JČ+½.½:˜ÆB‹Yõ¹³vāį-’s`D™@Rī’ĖķEFĻ£/æĖ•LZ%䁄|˜;ahIŗįŸß…* 3hę ‰ å×ŗŖQ½–»Ī‘V^8}²ŹÅ,m•=×ÆžB“¹Ņ‘øRwōňŻSW +«&;néÉ Ž4e¢<‹Eb®t½0”čÆG[G¶x½dœ+/qiĒ}tÄæé6rWT Ģ’ŠÓ¬kpoIEND®B`‚r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt|eŁr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt|eŁr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt¤ Šv$$If–!vh5ÖÜ!5Ö#vÜ!#v:V –l”Ī t  6`”ą”“öā"6ö”“5ÖÜ!5Öyth+r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt mr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt mčDdąąFŽš²² š c šŽAĮ2’Ć8æ610px-Doubly-linked-listFile:Doubly-linked-list.svgš€bšān¼hRĖZZōA§ƒ0ų’¾jwnš¶n¼hRĖZZōA§ƒ0ų’‰PNG  IHDRb)–VE`bKGD’’’ ½§“tIMEŪ +)NäšZGIDATxœķy¬]EĒ?Ņā „HkĖ aQ ŠĖM4DdQY$ B”}U‘Įą.H([¢V±PE‘M¤±²„ķ!Z@(X¶^YśŚ^’ųŻ›;÷¾sĪĢ93ēœ™Ūł$'}}w–ļūĶļœłŻ9³ Müg n†„`Ėˆ¾ūbōĮž'ś`¤n|÷Į6!ųāˆŠ Q«”ń4]!²ļZ£>;źŌw aŗhC;¢¾t¢VCŌēŽ`ā›¦ņĖFŠhŠŃZ£ūLŌgGśšĄ4Ćt>õŁ}ŠžØĻßõ©ß4>¬“Ż:BktŸ‰śģØKß4ą-ą[i£ ķˆś’‰>XQŸ;‚‰oš‰Ŗ&©žŻW¢>;źŅw°xŌ m“”Q_2Ń«#źsG0ńMÆQ“WAZ½”6ŗD}vŌ„ļ–VŻÆ[kŅFŚõ%}°:¢>wß “~č]Ńnī+QœI}Iś|Åw­QŸM`m`;`§Ö5|yu3xGI?±•g r.žž <Üś »“~¾8Z£ŃwF}ʼn>hOŌg‡ļśT‚‰oŅ¢ŪÕDŽŗzBŽ¾}#ź+ĘLąDDßėĄ#ĄÕĄ©Ą§€SņN¦¾‹Ü”ÆOst½”üS—Zu7ēŽ8 _mŲ&ź+FōAwD}vų®O%˜ų&ĖØŗBl1)æŻ¢>s6ĪBęļüŃ·Ć:†€#¹ČˆÅ­ĄQŒ6ļŅé—_Ź(Ó'&õ™}°¢>;|קL|£3ŖIaE0-·ŒFD¾!ŗĘwśōģŒŒ?fÓŚ.Sßd¤s» XœĢ~C§l_d”ćƒ ³ˆśōD,—ØĻŽ2ōMGśe×ߘÕ“PSņ”ēŗя†©§Ńė&źKēćĄ|džĢq$榩JßLąēČ=ņ?Ęw‚K€O¦ämlGś>AōĮ*ˆśģ(kpdéŸ]L|cjŌ<…»,ĒU£÷¶Ź›ćØĢ^ÖÄČ%učŪ˜ü8X+#m•śvžV2¾l RņÅ6¶£};}°J¢>;ŹŅ7§Uö½Hķ‚`ā›\ŒĢkX¼I9£aī 4ų,p2GäEŗø:†€ć‘WƈWK‘‡õĄfśŹ`"p.šp2”YGśÖFüuɝŸ:"qPMmŠéŪ™µXŒ!¶øye§Ć6•ö›„ųąbą›D¬Š,};#ÆdļGFĒZ’ŽŒRNLĻši«¤«ˆ>(Kß Ņw¬Bśė‹°ļ«ƒ‰oņµHe6łŠ6śņķriŌ&0Š¬2*‹Po ¢ ÓümŪZPŸkvA–ć߆,ū7„l}; ³ßĮĢ¦ĻėW¬Ń]'ųéļjdÅ_Yłuś\²+āƒs‰>X5ŗ (ėzŁ"¤H^õśGA}>P¦¾S‘¾¢‰ōŪ#HæQt»Œ`ā›"FĶ[iŽō*Eōķ <‰É”:’2Ź wŗ5²OĻ™­u(š’¦ļąv¤“ŚŲ”üŲ{Ą5Ą¾Čƒj"ņPæT)g2&ƾ¼dŁļdāšå–õš\ˆ~¢÷Z \[’ĘŖ}p*š2æķj`[d”h[äļlöÕņėōå%Ė~_AFb£fSµ‚ZĒŪ#¾³!š9ŗß\Z°Ž›•2Ī+Ø/uŲĻ–A¤ŸV}ģ-¤?ß³@yĮÄ7EjZ¹iŗ4ņčŪųQƦ»1GÓ j0ÅÖAߏܬ½ŚW7¶>·!¾<Ųo-3>’¾R֝š:mČ²ßĶH ų42¹e<€vA6×|›|`ūś/°›CułąJ]ק¤iwd#ĄŗŽóėō™¢óĮk‰>ØƧē`›Łt’½y™L·}³Śæķ—‡Ó錊©ŚG‘ž}‹eßŲU'B÷¹ &ś¦ {ģ,GĪCKzX,#żįė ‚¬–Źzą=ÓJW…¾<˜ŽJYohź,Š‰żŽ";`Ōįś49:ęąną/ČܦĒĪz!2Ź³ŒńUõzŃ°ÕX§>©Ō1+%ĶJš/;ĪÆÓgBōA{¾=ŪLRź·@žĆé¶Użhæ<¬ĖųQ±öµéēLś+b•`ā[£¦‰Iū}^²ōME&»¾IgXŅ5 œa©Ć[ŖĆÖY׍ésˆ­G÷”UgQ|³Ÿ+¦#ÄįČbˆ‡‘yPźž·‘‰­® Õū÷})i•4ævœ_§Ļ„čƒB?Śp7„ī{ 䟧ä?[“¶ķ——3?*¦^Ė‘~’\`£Œr‚‰o\µA·ØŽ’Ū¤o'ąr¤1L†Ó« KÓjĀ6dŪTÆÕ×_W ö„¬—4uĮGū•É ²Ūł<ąYd”e12Ń;„`CS&„{īÕ\²7vU™Nēd‚ÕČAī.õ©ųh?ŠŽˆĢ:"Ö Ś9b3‘wĀ£Ä9beé³ ÄNé)ćōß$C°ß ņl2ay>rsyeQ!Ų0HßHtšmå’‹KČÆӗEōĮ!Ų°ķ#xšČīū&|CÉ3ß0OæŚ/yēˆ]Fņ– ĮÄ7¶BŌ·jr#śgÕ䍘Ż@i{$¹Ögˆõa7ŠYŚ®«³(UŚo6²—ŚÉ/B&€ßœˆųż–˜svE(6Lc;ą dŪ„÷{ūČ”ģ{+ī/)(ö‹>X½¾­•ś_4Ģó€’ēĆ<żjæ<äY5™µE0ńPŻē&˜č›‚L¤Œūˆ¹ÓW4;½'ļ­Č„}Ó:‹Rµż®"ż0äöƒāU䁿 š2Q÷$øų;²™¦Kll8 x|°—ļ(:¾WRžčƒöō«Ŗ{‰½g~s:#T«żMÉĖĄd±Kˆūˆåaš.<śśagżHŽłz`cĖņĖÄĪīÉw;f«uŚP„żÖ„{„^žk5Ņ9a©G§1S³7 s`|šA•IČ(W»SŪ¶¤üŃķ±ńĮ¹ĄßšÓg*Zžcž4%ż}9ź ÉĖ ī¬oHŽŹó¦W)¢ÆĪš< Ys$°•£rĖ ÄĪéÉ3|AX»NTeæż%äė— ¶ÉŚ„Š„Ff’Bv«næĘņĮUŌÕ·W–˜?ś {&ĢB’tß|šWtlx•Aś‡•ōĒęØ'4tIĄļéŲń d%[łuś| ś =iś ~ļŠ¬F€ŒŅķƒŒī«.ØRŅÆ$ß«Ą}Š§ŅéƗ#ż÷”äß2¤M0ńM”E+³ÉoŪčƒČ”ÓĖ‘WoRŽØXČ7PžoŌ6y›Ąfōł@’¾ČŹ5ŻÄȑ\uhLbdā:ģ_UäĮĘ’LöÅ¶łuś| ś =iśLž]/#‹>tØóļt¤ĻŹŅ7ˆōĻ«žśBģūź`āS”E*qQŽ«FBößi"ĖĖ ä(bzŅō]Lś¤éEČ&U”³įldäč1ąÓåĖG–¾Ż‘WˆĆČ²ō1dG󛀿 Ź¶ĶÆÓēŃķIÓ·² ļnd„n ŁåeąĄ×‘ kM¦c’¼ūu…źƒ¶“·¹ż1P¦ߘĶ[øĖņ\7ś±ČMRĘØŲšz¹"T}“ēß.EV­Ż†œWWtxŻVćąóȄįē‘ ŚkU %‰PŪŲ¢ŚjūBś‘~9Ļ\:‚‰otBóšÓrĖjōé%”»&Ž@. Yß/!uµ|9€ś(ądŁøzZŁ·Gęļ-D¶,8³żÜŹ$ä6öčƒö„ÜĘ>P†¾éŌ38ŅĄ“ų&KØiaE1)ßw§Tń]kŌgG–¾M%ķj'Ų{Ął^Ą/‘×"«™öĄ|Ÿ5ė“ź=x™7ōąCŽŹwAČmģŃķ ¹}Ąw}*ĮÄ7iBM q®ž~itˆśģŠé»›Nø8$%ŻZĄĒ€‹¹2K‘ƒ/Ž”³#zŚź¾)ȞF d(’2dƒĪö6ē K½«x •—ŠŪøn¢Śz׍ļśT‚ˆoZ?ōŽ, d‚ėĮäŪˆ®(Yõ%éóßµF}včōķ‹ųń†ČˆĆ‡× ŹvC:¶ķZ×4d…ŪdąŻž“o 7÷bd¾ĶpėzŖ•6dÖMčś¢ź ½ėĘw}*ĮÄ7½cƒj"Å^Ņźķ‡čŪ¢>;tś€§[é†Ė—“Hč6¬›ŠõEŌõŁį»>•`ā›¦AāŖHŖ?äF÷ØĻ}W“ŅŻV²–4śĮ†uŅś¢fõŁį»>•`ā›fF¢:hŠ­#ŌF÷‘ØĻ}Ū#{XY²–4śĮ†uŅś¢fõŁį»>•`ā›fĀ‡uÓ £'ÄF÷•ØĻS}MŅ7­-›~±a]ō‹¾čƒéD}vų®O%˜ų¦‰_"Ū4]”5ŗĻD}v˜ź«źĢ¼$śÅ†uŃ/ś¢¦õŁį»>• ā›öŖIß i…F¤æńŻ£ö?Ń#u滶 Įžŗ'…¬†×œIEND®B`‚k$$If–ā’!vh5Ö`#v`:V – t ö6ö,Ö5Ö3Ö4ÖBÖytåoĮr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt mr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt mr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhyt|eŁr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhytš†r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytzYr$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhytš†r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytŖs@r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5Öhytš†r$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytdIar$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytdIar$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytdIar$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytdIar$$If–!vh5ÖŽ)5Öh#vŽ)#vh:V –l t  6`”ą”“öö96ö”“5ÖŽ)5ÖhytdIa^" ˜žžžžžž˜ž666666666vvvvvvvvv666666>666666666666666666666666666Ø6666666666ø666666666666hH66666666666666666666666666666666666666666666666666666666666666666°62ĄŠąš 0@P`p€ĄŠąš2(Ųč 0@P`p€ĄŠąš 0@P`p€ĄŠąš 0@P`p€ĄŠąš 0@P`p€ĄŠąš 0@P`p€ĄŠąš 0@P`p€8XųV~_HmH @nH @sH @tH @@`ń’@ NormalCJ_HaJmH sH tH TT  Heading 1$$@&a$5>*CJOJQJ\^J`` åoĮ Heading 2$¤š¤<@&$56CJOJPJQJ\]^JaJP@P ą’ Heading 8 ¤š¤<@&6OJPJQJ]^JDA`ņ’”D Default Paragraph FontVi@ó’³V  Table Normal :V ö4Ö4Ö laö (k ō’Į(No List F>ņF Title$a$5>*CJOJQJ\^J@B@ Body Text$a$ OJQJ^J4 @4 0Footer  Ę9r 4@"4 Header  ĘąĄ!.)@¢1. Page Number.X¢A. Emphasis6]Rž¢QR ą’Heading 8 Char6CJOJPJQJ]^JaJTSbT ą’0Body Text Indent 3„h¤x^„hCJaJNž¢qN ą’0Body Text Indent 3 CharCJaJ6ž¢6 ą’0 Footer CharCJaJ‚š³“‚ ą’° Table Grid7:VÖ0CJOJPJQJ^JaJD³¢D B'ū List Paragraph „Š^„Šm$F^@²F k+\0 Normal (Web)¤d¤d[$\$_HJ4U@¢Į4 Žbå0 Hyperlink >*ph’Bb@¢ŃB ĢIś0 HTML CodeCJOJ PJQJ ^J aJXž¢įX åoĮHeading 2 Char$56CJOJPJQJ\]^JaJ*ž¢ń* åoĮ toctoggle’e’ !³,0HTML Preformatted7 Ę2”(¼ Päx  4 Č#\'š*„.2¬5@9B*CJOJ QJ ^J aJphZž¢Z  ³,0HTML Preformatted CharB*OJ QJ ^J phPK!‚Š¼ś[Content_Types].xml¬‘ĖjĆ0E÷…žƒŠ¶Ųrŗ(„ŲĪ¢Iw},Ņä±-j„4 ÉßwģøPŗ-t#bĪ™{U®ć “óTéU^h…d}ćØ«ōūī)»×*1Pƒ'¬ō “^××Wåī0)™¦Též9<“l#¤Ü$yi}å;Ą~@‡ę¶(īŒõÄHœńÄŠuł* D× zƒČ/0ŠĒ° šūł $€˜ X«Ē3aZ¢ŅĀą,°D0j~č3߶Ībćķ~i>ƒŲĶ3æ\`õ?ź/ē[Ų¬¶Géā\Ä!ż-ŪRk.“sžŌ»..—·“aęæ­?’’PK!„Ö§ēĄ6 _rels/.rels„ĻjĆ0 ‡ļ…½ƒŃ}QŅĆ%v/„C/£}į(h"ŪėŪOĒ »„¤ļ÷©=ž®‹łį”ē šŖĆāC?Ėhįv=æ‚É…¤§%[xp†£{Ūµ_¼PŃ£<Ķ1„H¶0•ˆŁO¼R®BdŃÉŅJEŪ4b$§‘q_טžą6LÓõR×7`®ØÉ’³Ć0ĢžOĮÆ,åEn7”Liäb”Ø/ćS½ØeŖŌŠµøłÖż’’PK!ky–ƒŠtheme/theme/themeManager.xml ĢM Ć @į}”wŁ7c»(Eb²Ė®»öCœAĒ ŅŸŪ×åćƒ7Īß՛K Y,œ ŠeĶ.ˆ·š|,§ØŚHÅ,lįĒęéxÉ“ßIČsQ}#Ր…­µŻ Öµ+Õ!ļ,Ż^¹$j=‹GWčÓ÷)āEė+& 8ż’’PK!–µ­ā–Ptheme/theme/theme1.xmlģYOoŪ6æŲw toc'vuŠŲ±›-MÄn‡i‰–ŲP¢@ŅI}Ść€Ćŗa‡Ųm‡a[Ų„ū4Ł:lŠÆ°GR’ÅX^’6ŲŠ­>$łćū’©«×īĒ !)OŚ^żrĶC$ńy@“°ķŻö/­yH*œ˜ń„“½)‘Žµ÷ß»Š×UDb‚`}"×qŪ‹”Jח–¤ĆX^ę)I`nĢEŒ¼Šp)ųčĘli¹V[]Š1M<”ąČŽ©OŠP“ō6rā=Ɖ’zĄgb Ig…ĮuSŁebÖö€OĄ†ä¾ņĆRĮDŪ«™Ÿ·“qu Æg‹˜Z°¶“®o~ŁŗlAp°lxŠpT0­÷­+[}`j×ėõŗ½zAĻ°ļƒ¦V–2ĶF­ŽÉi–@öqžv·Ö¬5\|‰žŹœĢ­N§Óle²X¢dsųµŚjcsŁĮÅ7ēšĪf·»źą ČāWēšż+­Õ†‹7 ˆŃä`­ŚļgŌ Ș³ķJųĄ×j|†‚h(¢K³óD-Šµßć¢ dXŃ©iJĘŲ‡(īāx$(Ö š:Į„;äĖ¹!Ķ I_ŠTµ½S 1£÷źł÷ƞ?EĒž?ųéųįĆć?ZBĪŖmœ„åU/æżģĻĒ£?ž~óņŃÕxYĘ’śĆ'æüüy5Ņg&Ī‹/ŸüöģɋÆ>żż»GšMGeųĘD¢›äķó3Vq%'#q¾ĆÓņŠĶ$”8ĮšKżžŠōĶ)f™w9:ĵąå£ x}rĻx‰‰¢œw¢ŲīrĪ:\TZaGó*™y8IĀjębRĘķc|XÅ»‹Ēæ½I u3KGńnD1÷NIBŅsü€ ķīRźŲu—ś‚K>Vč.EL+M2¤#'šf‹¶i ~™Vé žvl³{u8«Ņz‹ŗHČ Ģ*„ę˜ń:ž(W‘ā˜• ~«ØJČĮTųe\O*štHG½€HYµę–}KNßĮP±*Ż¾Ė¦±‹ŠTŃ¼9/#·ųA7ĀqZ…Š$*c?¢ķqUßån†čwšNŗū%Ž»OÆ·ičˆ4 =3Ś—PŖ ÓäļŹ1£Pm \\9†ųāėĒ‘õ¶āMŲ“Ŗ2aūDł]„;Yt»\ōķƹ[x’ģółē]É}Wr½’|É]”Ļg-“³Ś eW÷ ¶)6-r¼°CSĘjŹČ išd ūDŠ‡A½ĪœIqbJ#xĢźŗƒ 6kąź#Ŗ¢A„Sh°ėž&ŹŒt(QŹ%ģĢp%m‡&]ŁcaSl=XķņĄÆčįü\P1»MhŸ9£Mą¬ĢV®dDAķ×aV×B™[ŻˆfJĆ­P|8Æ քAŪV^…ó¹f ĢH ķn÷ŽÜ-Ę é"į€d>ŅzĻūØnœ”ĒŠ¹ €Ų©š‘>äbµ·–&ūÜĪā¤2»Ęv¹÷ŽÄKyĻ¼¤óöD:²¤œœ,AGmÆÕ\nzČĒiŪƙć¼.uĻ‡YC¾6ģOMf“å3o¶rÅÜ$ØĆ5…µūœĀNH…T[XF64ĢT,ќ¬üĖM0ėE)`#ż5¤XYƒ`ųפ;ŗ®%ć1ńUŁŁ„m;ūš•R>QD ¢ąŲDģcpæUŠ' ®&LEŠ/p¦­m¦Üāœ%]łöŹąģ8fi„³r«S4Ļd 7y\Č`ŽJān•²åĪƊIł R„Ę’3Uō~7+ö€×ø#Æm qØBiDż¾€ĘĮŌˆø‹…i*øL6’9Ō’mĪY&­įĄ§öiˆ…żHE‚=(K&śN!VĻö.K’e„LD•Ä•©{D źøŖ÷vEź¦šdeĄąNʟūžeŠ(ŌMN9ߜRģ½6žéĪĒ&3(åÖaÓŠäö/D¬ŲUķz³<ß{ĖŠč‰Y›ÕČ³˜•¶‚V–öÆ)Ā9·Z[±ę4^nęĀē5†Į¢!Jį¾é?°’Qį3ūeBoØC¾µĮ‡M Ā¢ś’m<.vp““Į¤IYÓf­“¶Z¾Y_p§[š=al-ŁYü}NcĶ™ĖĪÉŋ4vfaĒÖvl”©Į³'S†ĘłAĘ8Ę|Ņ*uā£{ąč-øߟ0%M0Į7%”õ˜<€ä·ĶŅæ’’PK! ѐŸ¶'theme/theme/_rels/themeManager.xml.rels„M Ā0„÷‚wooÓŗ‘&ŻˆŠ­Ō„ä5 6?$Qģķ ®,.‡a¾™i»—Éc2Ž1hŖ:é•qšĮmøģŽ@RN‰Ł;d°`‚Žo7ķg‘K(M&$R(.1˜r'J“œŠŠTł€®8£Vä"£¦AČ»ŠH÷u} ń›|Å$½b{Õ–Pš’³ż8‰g/]žQAsŁ…(¢ĘĢą#›ŖLŹ[ŗŗÄß’’PK-!‚Š¼ś[Content_Types].xmlPK-!„Ö§ēĄ6 +_rels/.relsPK-!ky–ƒŠtheme/theme/themeManager.xmlPK-!–µ­ā–PŃtheme/theme/theme1.xmlPK-! ѐŸ¶'› theme/theme/_rels/themeManager.xml.relsPK]– rŸ ö’’’’ 888;üū ›  "¶c· w!—%+8-. 6Ø<Œ=Ē>»JÅLM}QV¼XB\la‚UƒS”>•jŸS Ÿ¦r§ŌŁŻāčķńóõüż’  %&)-/246?BDEOQTUZacfqrtv}ƒˆ‰Œ‘”–šœ Ŗ¬®°²“¶øŗ¾ĻŃÜąéģņōł6³ū@ Ÿ ÷ m ¶ ’ 9 ® $  µ ż ( i » l·ĀkóWČŠø ”!Ļ% 'H)P*į+|-.Ģ6(9Ü:D<i=ā=>CFjG°HKJ L‘MŻPjR0TgU›VāX%YŹ]×_-a·bncdTgęmųo„q9sćt‹vXx z‰{·|¤~K@‚4„į†)‰ÆŠgŸ‘Ä“Š•½– —BŸ<”ą¢¤É„‡§©…Ŗ,¬e­H®Ę®uÆ*µ· ¹M»!½z¾PĄĖĮ[ĆŪľĘÖȞĖˆĶ^ĻæŠ@ŅŃÓbÕŠŲ7Ł/Ż%߉įYćuåīåéébėyģĀķ4ļiš”ó6öŠ÷NłÜś°’ØÕg± $„“¦Ÿ+0š0ō5U9ļ:!<|<H”KķLŪNŒP:R¼UMY9[T]s`¬cGeąfPh|jKln„n)suw^yL{}~ńĮ¶‚į‚Uƒą…’‡Ł‰U‹’Ū½‘U“Į”=•†–’˜š•œqžńŸT ¼¢²¤“¦Q§r§ÕÖ×ŲŚŪÜŽßąįćäåęēéźėģīļšņōö÷ųłśūž    !"#$'(*+,.0135789:;<=>@ACFGHIJKLMNPRSVWXY[\]^_`bdeghijklmnopsuwxyz{|~€‚„…†‡Š‹Ž’“•—˜™›žŸ”¢£¤„¦§Ø©«­Æ±³µ·¹»¼½æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪŠŅÓŌÕÖ×ŲŁŚŪŻŽßįāćäåęēčźėķīļšńóõö÷ųś@]Ž]”]O^›^§^Ę^_)_vwÅwŌwļwPxVx½x(y2y>š°ąDLUµ»Õ7‘>‘X‘Ā‘Ķ‘ƒ’Ļ’Ż’ā’,“1“ד”3”y”Ń”Ņ”i•k•l•ŒæģæńæłæAĄMĄĄŠĄŌĄßĄHĮPĮØŃ ŅŅcó×ółóōdōsō„ōÉōĶōćō+õ3õ@õ†õŒõ>öŒöŽöR÷ž÷­÷*‹Ź(&)+)3)))Å)%***ß+),/,1,u,€,Š,ę,ū,-]-f-b.Č.Ķ.rŸX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’C’ģŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’ŒX’Œ 14;!•!’•€štš  š,bš$A/‚Ż£Y*ęXT܁EB’uš’’’’@ń’’’€€€÷šH šš0š( š šš’šš0š( š ššB šS šæĖ’ ?šrŸ %,-19@ABCJKMNRSV€‡ˆŒ–—›œ¦§°·ø¹ĄĮĀĆŹĖĶĪŅÓŁŚŻŽäåīļłüżž!"%&+,34>CDELMNOVWYZ^_dehinovwˆ‰œ ”£Ŗ«¬­“µ·ø¼½ĒČŹĖŠŃßąāćéźķīōųłū  >HILMUVWX_`jnopwxyz‚„…Ž’”§Ø®Æ³·ø¹ĄĮĀĆŹĖĶĪ×ŲŪźšń÷ųü     !+,6:<=DEFGNOQRXYZnqryzƒ…Ž‘’›œ„¦Ø©«Æ±²¹ŗ»¼ĆÄĘĒĪĻŲŁāćźėķīņóųłżž%'(/0129:<=ABLMOPVW[\jkqruv|€‚„‹ŒŽ•–˜™ž”¢¦§±ŗĮĀĆÄĖĢĪĻÓŌ×Ųāćå     -4567>?BCJKUW`agovwxy€„…ˆ‰™š£¤¬­°¼¾ĄĒČÉŹŃŅÕÖŽßąįėģõöüż  !")*349:<=>?EFHIQRXY_`imoryz{|ƒ„‡ˆ“”›œ”¢©Ŗ“ŹŃŅŌ×ŲŖ±²½æĄĮ“¶·ø¼æ. 0 4 6 8 : < = J L Q S U W Z [ ^ ` b c f g j k u v ‚ ƒ É Ź Ģ Ķ Ō Õ + - 5 6 8 9 U W Y \ a c d e m n q s w y | }  € ˆ Š   ’ “ – — Ÿ   £ ¤ ¦ § ± ³ ¹ » ¾ æ Ę Ē Ź Ė Ļ Š Ó Ō ą ć ę ē č L S ^ e g j p s w z ~  ö ł      ! " * , 3 5 ; = C E F O T U \ ] ^ b h k q y ~  ƒ „ … ‰ Š Ž  • š › Ÿ ¢ £ “ ¹ ŗ Ā Ē Ģ Ķ Ń Ņ Ó Ö × ę ė ģ ō õ ÷ ’     N O V W ./45xz†‡|}‚Z[ab\Ŗ­"#%()[abkmw“—žŸŖ¬µ¶ø¹¼½ÄÅĒČĻŠŅÓŚŪŻŽįāēčģīņóõöśūž’ !(*,-34=>GHLMOPTUWX^_fgoptuxy~†ˆŒ“”š›ehmotuyz~‚ƒ†‡Œ–˜ž §Ø«¬±²·øŗ»¾æÅĘĶŠÓŌÕÖŁ8?JQX_`chklqru}„…ˆ‘–—š¢§Ø«°³ĀÅŹĶÓ×ŲŽßąįäėóõū’ .4LR`fio€…ˆŽ¢Ø«±ČŲŻćéģņ    8 ? @ G [ b c j … “ – ž ® ³ Ć Ę Ė Ī Ō × Ų Ł Ū į ä ź !! ! !!!!!!!&!'!(!3!8!9!<B<C<H<I<L<S<V<X<`<a<g<h<j<m<q<r<{<|<<†<‰<Ž<’<“<˜<™<œ<£<¦<«<®<µ<ŗ<¼<Ą<Ź<Ķ<Ī<Ō<Ū<Ż<į<ē<ė<ń<ū<===/=5=C=I=L=R=c=h=k=q=…=‹=Ž=”=°=µ=ø=½=Ą=Ę=É=Ļ=ę=ź=ń=ņ=÷=ś=>>> >>>,>->I>L>_>h>i>l>v>y>ž>¤>§>Æ>Ą>Å>Ö>Ł>ą>ć>é>ģ>ķ>ī>š>ö>ł>ż>???"?&?,?/?5?6?7?H?K?R?U?V?\?]?_?c?f?q?s?‰??·?ŗ?Å?Č?Ļ?Ņ?Ó?Ł?Ś?Ü?ą?ć?ä?ņ?@@Ć@Ģ@Ķ@Š@×@Ś@ą@ć@ń@ō@÷@ż@ž@AAAA$ADAIAkAoApAyAzAƒA…AAŽA”A•A—A›AžAŖA¬AµAŗAæAÄAÅAŅAÕAŚABB!B$B&B.B/B7B8B@BABIBMBPBQBRBTBdBfBmBvB|B}BBœB B¢B©B«BÆB±B¹B½BŅB×BģBńB CCCC%C-C3C9C=CJCNCSC[CcCiCoCsC|C}C‚C…CˆCC–CžC„C­C“CŗC¼CĮCĀCĆCnDtDuD~D>EEEFEHEJEKEMESEŖE±E²E½EĄEĮEĀEĒEČEÜHŻHāHäHčHéHķHīHņHóHöH÷HüH’HIIIIII$I%I(I)I1I2I4I5I8I9I>I@IBICIFIGIJIKIOIPISITIYIZI`IaIcIdIiIjIpIqItIuIzI}I€II‚IģIóIžIJJJ J!J#J&J'J*J3JJAJ\J`JaJgJhJiJjJmJnJtJvJ|J…J‹JŽJ“J—JJ¶J¼JŌJŚJöJüJ KKKK)K.K1K7KAKCKSKVKbKhKkKqK’K˜K›K”K·K¾KæKÉKŹKÕKÖKÜKßKēKLL"L0LJLMLVL\L_LeL|LLˆLŽL‘L•L–L›LØL®L²LÅLÉLąL%M+M.M4M[M^M_MbMhMtMuM|MƒM‰MŒMMM M¹M¼M½M¾MÄMĒMŠMÖMŁMßMśMūMNN NNNNNNNN)N/N1N6N7N;N OOOOGPIPP‘P„P§PŖP¬PµP»P½PÅPQ'Q(Q-Q.Q0Q1QęQēQźQėQRRRR3R4R7R8R?R@RJRKRaRcReRfRzR{RR‚R†R‡RR‘R›RœR R”RŖR«RµR·R¾RæR…S†S‰SŠS‘S’SœSS¢S¤S¦SØS­S®S±S²S¶SøS¼S½SæSĄSĶSĻSŲSŁSÜSŻSńSņSłSśS TTTTT T#T$T,T.T2T3TATDTVTWT^T_TbTcTjTkTnToT„T†TˆT‰TÆT°T¶T·TĀTĆTĘTĒTČT3U:UEULU]U`UgUnU†U‰UŠUUU“U¼UæUĄUČUŹUŠUŲUŽUįUęUźUšUV VV!V2V8VFVLVOVUVfVkVnVtVwVV‚VƒV„VˆV”V§VŖV°VÅVĖVĪVŌVóVW WWWWW%W3W9W[ģ[š[ń[ó[ō[÷[!\(\)\4\7\>\?\C\D\F\G\S\T\_\`\a\b\g\h\s\t\x\y\|\}\\‚\„\…\ˆ\‰\Ž\\‘\’\š\›\Ÿ\ \¦\Ø\«\¬\µ\¶\½\¾\Ę\Ē\Ź\Ė\Ļ\Š\Ś\Ū\Ž\ß\é\ź\ķ\ī\š\ń\ü\ż\]]] ]]]]] ]!]wbxbb€bŠb‹b©cGgRgXg[gcgegjgmgngtg~gg‚gŒg–g™gĮgÄgēgźgļgņgżghhhh h!h"h(h.h4h:h^hahnhqhrhsh†h‘h’h˜h¢h£hŖh°hŅhÓhŁhŚhģhņhõhśhūhühiiii%i(i0i2i=i@iAiJiUiZidigipiqii„i…i†ii i”i¢iÆi¹iæiĒiĻiŃičiņijj-j5jCjEjZj\jujxj~j€j‚j„j‘j“j·j¹jéjģj kk$k'k[k]k‘k’k§kŖk«k³kllllolrlsl}lķlšl«m®mĄmĆmīmńm nnn!n*n0n_nbninln–nšn›n¤n„n¬nĄnĆnĢnŅnün’n o o.o/o0oDogonoyo€o‚o…o†o‹ooo‘oo£o„oŖo­o®oøoĀoÅoŹoĶoąoćoźoķoppppppp%p,p2poptpwp}p~ppŒpŽppp„p¦p“pĄpĮpĆpŹpŠpłpżpq qqqqq%q'q/q2q3qtAtBtLtÆtµt·t¾tætŹt=v@vEvHvLvOv­v“vµv·vŗv»vNwawcwgwhwnwowuwĘwŹwĖwzz z zzzzz!z#z*z+z1z2z8z9z=z@zRzSz\z^zfzhzozpzsztz}z~zz‚z˜z™zŸz z¤z„zØz©z®zÆzµz¶zøz¹z¼z½zĆzÄzĻzŠzÓzŌzÕz${*{:{A{L{S{U{[{e{h{q{w{‡{Ž{{•{›{Ÿ{Ā{É{ö{ś{| |||||| |%|)|+|0|4|8|?|C|X|[|k|m|ƒ|‰|}}}}1}6}9}C}u}{}|}‚}Ė~Ń~Ņ~Ų~ē~ķ~įē€€C€K€U€W€X€_€l€n€u€w€‘€–€Ź€Š€ų€ż€‚ˆ‰K‚Q‚V‚_‚“‚·‚ø‚ȂтׂƒƒIƒOƒwƒ|ƒƒ‰ƒ²ƒ¹ƒĀƒČƒÉƒĻƒŚƒąƒ„ „„„F„M„a„h„™„Ÿ„Ņ„ׄM…T…t…{…††%†,†k†q†ˆ†‹†Œ†œ†¦†¬† ‡‡8‡=‡@‡J‡¬‡²‡Ž‡ć‡ę‡ķ‡“‰™‰š‰ ‰ĄŠĘŠĒŠĶŠœ‹ ‹Ø‹¬‹®‹²‹½‹Ą‹Ź‹Ī‹ą‹ä‹ō‹ū‹ŒŒŒ"Œ'Œ+Œ¶Œ¼Œ¾ŒČŒÉŒĖŒBŽQŽ™Ž”Ž¢Ž¤Ž§ŽØŽ %&34w”y”m•n•@—B—G—I—R—S—o—p—v—w—{—|—Ö—×—Ż—Ž—ś—ū—˜˜ ˜˜˜˜˜˜˜c˜i˜y˜€˜‹˜’˜”˜š˜¢˜„˜¬˜²˜¹˜½˜æ˜Å˜ü˜™ ™#™4™7™”™—™˜™œ™ž™¤™®™“™·™¼™Ą™Ę™Ł™ß™ń™÷™ššš%š8š>šQšWšeškšnštš„š‰šŒš’š¦š¬šÆšµš)œ/œ2œ:œdœgœhœkœuœ{œƒœ‰œŠœœ‘œ—œ œøœĄœČœ $%+4LT\gnpt{‚Œ“«²¹Ąåčīńņłūžž ž!ž&ž)ž0ž3ž9ž<žBžXž]ž`žežhžožqžwžž…ž†žŒžž“ž©ž°žŗžĮžĆžĒžĪžÕžēžīž:ŸAŸKŸRŸ_ŸfŸhŸlŸ~Ÿ…ŸŒŸ“Ÿ­Ÿ®ŸĻŸÖŸąŸēŸ       & ( / 1 5 L O U X Y ^ ` f i o † ‹ Ž • ¼ Ą ””@”A”L”M”f”j”‰””””˜”¬”Æ”9¢H¢…¢‹¢Ž¢•¢W£r£~£‚£™£œ££„£©£Æ£²£ø£Ī£Ó£Ö£Ż£é£ņ£ō£ż£¤ ¤C¤I¤L¤O¤V¤_¤g¤m¤p¤s¤~¤‡¤Ø¤®¤±¤ŗ¤ß¤å¤č¤ń¤R¦Y¦Z¦\¦^¦_¦¦Ŗ¦«¦®¦Æ¦±¦²¦·¦ø¦¾¦æ¦Ć¦Ę¦Ķ¦Ī¦Ł¦Ž¦į¦ā¦‘¬’¬œ¬¬”¬„¬±¬²¬»¬¼¬Ę¬Ē¬Ń¬Ņ¬×¬Ų¬ß¬ą¬ć¬ä¬ņ¬õ¬ų¬ł¬ś¬ū¬ž¬]­d­o­v­­Š­Œ­’­”­„­Ø­«­¬­®­±­·­Ē­Ī­Ļ­Õ­Ü­ą­ā­ę­ē­ó­÷­ū­ü­®®® ®®®®® ®!®%®&®+®0®4®:®>®?®D®N®X®Y®]®^®c®d®k®u®®€®„®…®Š®®“®”®›®œ® ®®®²®³®ŗ®»®æ®Ś®Ž®ņ®ö®ÆÆÆ ÆÆÆ#Æ/Æ4Æ:Æ?ÆEÆHÆNÆSÆeÆyÆ~ƁƋƐƚƛƠÆÖÆÜÆćÆčÆīÆ°°° °8°C°T°V°u°°Ž°°–°™°Ÿ°²°·°ŗ°Ą°į°ē°ź°š°± ±,±2±F±L±O±S±Z±a±|±‚±Š±±˜±ž±½±Ć±Ę±Ģ±į±ē±ī±²²²?²E²H²N²S²Y²n²u²²’²»²Ē²Ī²Ō²×²Ż²³³³%³,³6³d³k³ž³Ŗ³±³·³ŗ³Ą³ö³ū³ž³“““G“N“‰“—“š“¢“³“¹“¼“æ“ß“ē“ķ“ņ“õ“ū“µµ µµ#µ'µ(µ4µ:µ>µFµJµKµQµRµXµYµ_µŽµ”µ—µ›µœµ£µĀµĘµĢµŠµŃµÖµŻµįµ¶¶Q¶U¶V¶]¶^¶b¶c¶h¶o¶s¶«¶­¶Ś¶ä¶å¶é¶ź¶ļ¶š¶÷¶ž¶·· ·+·/·0·6·7·=·>·D·O·]·_·k·¤·§·Å·É·ą·ä·å·ė·ģ·ņ·ó·ł·øøø"ø1ø7ø:øPøpøzø{øø€ø…øŒø›øœø«ø¹ ¹ ¹¹'¹+¹,¹3¹4¹8¹H¹L¹X¹]¹e¹q¹‹¹¹’¹—¹Ī¹Ų¹ą¹å¹ē¹ė¹ų¹ü¹ŗŗ"ŗ,ŗ4ŗ9ŗ;ŗ?ŗLŗPŗXŗ\ŗjŗnŗsŗwŗ|ŗ†ŗŽŗ’ŗŸŗ£ŗÆŗ³ŗ½ŗĀŗŅŗÜŗäŗéŗėŗļŗūŗ’ŗ» »»$»,»1»3»7»[»_»`»g»h»l»|»€»Œ»»³»·»ŗ»æ»Ö»Ś»Ž»ć»ū»’»¼¼!¼+¼/¼2¼?¼C¼w¼{¼‚¼†¼³¼¹¼Ā¼É¼Ė¼Ō¼Ö¼Ų¼ņ¼ų¼ś¼½½ ½j½n½»½Ņ½Ō½Ś½Ū½ä½_¾b¾c¾f¾g¾n¾o¾r¾s¾u¾v¾}¾~¾€¾ƒ¾„¾ æ;æ<æBæCæPĀQĀVĀXĀ]Ā^ĀbĀcĀeĀfĀoĀpĀvĀwĀ}Ā~Ā‚Ā…Ā‹ĀĀ’Ā“ĀĀžĀ§ĀØĀ«Ā¬Ā“ĀµĀæĀĄĀĆĀÄĀŹĀĖĀĻĀŠĀŅĀÓĀÜĀŽĀįĀāĀćĀFĆMĆXĆ_ĆjĆrĆ}Ć„Ć†ĆŒĆ”Ć—ĆžĆ¤Ć»ĆĀĆĆĆÉĆįĆåĆīĆņĆõĆųĆūĆ’ĆÄÄÄ Ä ÄÄÄÄÄÄÄ#Ä(Ä,Ä-Ä6Ä7Ä;Ä@ÄDÄEÄMÄNÄRÄWÄ[Ä]ÄcÄdÄhÄmÄqÄ{Ä~ÄĈĊĐĤÄŖĮēÄÅÄÕÄÜÄöÄüÄ ÅÅ,Å1Å4Å:ÅDÅFÅSÅYʼnśŢÅŖÅŗÅĀÅĘÅĖÅĪÅÕÅÜÅįÅöÅüÅĘ#Ę&Ę-Ę;ĘCĘGĘMĘdĘgĘkĘpĘ‹Ę‘Ę„Ę½ĘĒĘÕĘŁĘßĘļĘõĘĒĒĒĒ<ĒBĒrĒwĒĒ•ĒšĒ”Ē²Ē¹ĒĆĒČĒąĒęĒėĒōĒČČČČjČpČ–ČšČ£Č§Č©Č®ČÆČ²ČÉČĻČŠČÖČēČźČļČóČÉÉ8É@ÉFÉIÉfÉoɠɦɫÉÆÉĖÉÓÉćÉēÉčÉļÉšÉōÉŹ ŹŹŹŹŹ-Ź4ŹDŹHŹIŹRŹSŹWŹfŹoŹsŹwŹzŹƒŹŹ•Ź«ŹÆŹ±Ź“ŹµŹ¹Ź»ŹĄŹĮŹÄŹąŹęŹĖ Ė$Ė,Ė7Ė:ĖTĖ]Ė‚ĖˆĖøĖæĖĢĢ#Ģ'Ģ8Ģ<Ģ?ĢEĢFĢJĢ—ĢĢ«Ģ±Ģ³Ģ¹ĢŗĢĄĢņĢöĢHĶQĶRĶTĶŅŠŁŠŚŠÜŠŽŠąŠ8Ń?Ń@ŃKŃMŃwŌxŌ}ŌŌ„Ō…Ō‰ŌŠŌŌŽŌ’Ō“Ō˜Ō›Ō”Ō£ŌŖŌ«Ō®ŌÆŌ³Ō“Ō¹ŌŗŌ¾ŌæŌÄŌÅŌĻŌŠŌŚŌŻŌąŌįŌāŌEÕLÕNÕUÕVÕ\Õ]ÕfÕhÕpÕrÕxÕyÕ‚Õ…Õ‘Õ›Õ£Õ­Õ“ÕµÕ½ÕÄÕĖÕĢÕŌÕčÕšÕQÖWÖXÖ`ÖlÖoÖpÖzւ֋֐֧֗֘֞֟֡֩ÖŪÖŽÖßÖéÖüÖ’Ö××~×„×‡×××•×–×ž×µ×Ą×Ł×ć×ęך×ņ×ü× Ų)Ų9Ų?ŲAŲGŲTŲ^ŲiŲrŲ}ŲˆŲ½Ų¾ŲĀŲĆŲĒŲŃŲÓŲŌŲŽŲēŲčŲéŲōŲśŲżŲŁŁ Ł ŁŁ!Ł*Ł+Ł,Ł8ŁCŁ`ŁiŁjŁkŁ˜Ł¤ŁÖŁßŁļŁłŁHŚNŚpŚtŚuŚ|Ś}Ś‰Ś®Ś¶ŚźŚņŚŪŪŪ ŪŪŪŪŪ&Ū.Ū9ŪDŪgŪpŪŪ˜ŪŖŪ²ŪŌŪŚŪźŪņŪŁÜßÜąÜéÜ|Ż„Ż…Ż‡ŻŠŻŒŻšŻĀįĆįĘįĒįČį+ā2ā=āDāFāLāUāXā_āeāuāxā‡āŠā™āœā”ā¤ā½āĮāĀāČāÉāŹāĖāĪāĻāÕā×āŚāįāēāīāšāūā ć%ć+ć0ć5ćFćKćNćTćbćdćić…ć˜ć›ćėćīćųćžć'ä-ä2ä7äDäHä‰ä—äĖäĪäŌä×äŁäßäčäīäļäõäöäüäå åå#å'å+å,å4å5å7å:å@åHåJåLåNåPåVå_åeåfålåmåså}åå‰å‹å’å•å—åšå›åå¢å„å®å±å·åŗåĀåÅåĘåÉåßåćåäåķåīåļåšåöåęęęę7ę=ę^ęaętęzę‚ę†ę”ē§ēØē±ē³ē¼ēččč$člčkėlėqėsė|ė}ė€ėėģ ģ#ģ$ģ%ģsģyģ‰ģģ›ģ£ģėģńģłģüģķ ķ=ķDķEķKķUķ[ķ\ķ]ķ^ķaķbķdķkķqķzķķ‹ķ‘ķ„ķ«ķ¾ķÄķÖķÜķėķńķīīīī(ī*ī˜īšīµīøīĒīĶīĪīŌīŚīąīćīéīłīžīļ ļŠļļ“ļ™ļ¶ļ¼ļæļĒļÖļŚļ$š*š-š3šGšMšPšTšˆšŽš‘š˜šņņšņ¢ņ£ņ„ņó ó óóóóóó ó°÷±÷¶÷ø÷½÷¾÷Ā÷Ć÷Ę÷Ē÷Ó÷Ō÷×÷Ų÷Ü÷Ž÷ģ÷ķ÷š÷ń÷ō÷õ÷ł÷ś÷ųųųų ų ųųųųųųwų~ųų‚ųƒųŽų³ų¹ų»ųÄųÖųßųéųļųšų÷ųłł łłłł+ł2ł3ł9ł:łAłCłJłUł\ł]łfłhłołŒł—ł›ł¢ł¹łĄłĀłÉłąłēłéłšłžłśśśś$ś2ś9śBśMśQśXśfśqś”ś™śŸśØśŅśŚśīśõśūū ūū'ū2ūHūOūcūjūū‚ū¤ū«ū“ū½ūæūĘūüü5ü>üøüĆüĒüĪüžžžžÜžćž’’’$’å’č’ž”Ʋø»¼æåčńōśLaĖß;P±Ķā? S ” ¶ Ė Ķ Ö Ų į č ł    ” š œ ¢ ¤ Ŗ « ² ģ ö ³ Ē   ,A}’gnŠŽ•°¶!^hqrt|~‡“š«²ŹĶĪĻÕŲéņ  STZ[bc€„¦µ»ĪĻŻŽäåģķ  "#*+KLpq€†™š§Ø®Æ¶·×Ųöü!GNpwž”¢¦§²‡ ČŹĻŠŌÕŲŁåęźķóõüż  !"'(23=@CDEFIØÆŗĀÄĖĢŅćęõū*-aghnĪÓÕÖ׌Ūäļņéģ &NUÕÜ8B~ˆäź  * - . 4 5 6 ÷ ż ž !,"2"K"Q"j"p"ˆ"Ž"Č"Ė"ć"č"ė"ō">#A#`#e#h#p#’#œ#ż#$$$$'$/$Q$[$¼$Ā$ņ$ż$%$%Š%%¬%±%“%¼%×%Ś%é%ó%S&Y&Å&Ō&Õ&Ų&Ł&ā&ė&ģ&ż&ž& ' ' '''''#'9(A(B(D(L(P(Q(U(W(_((¤(„(°(²(³(“(ø(¹(»(¼(ö/÷/ü/ž/000 0 0 00000#0%0*0+0-0.020307080<0?0E0G0N0O0S0T0Y0Z0a0b0f0g0j0k0o0p0s0t0{0|0~00‚0ƒ0‰0Š0Ž0‘0”0•0–0ę0ģ0ų011 111%1(1)1*1213191:1>1?1G1Q1V1_1d1e1r1s1w1x1}1~1–1—1Ÿ1©1®1·1Ļ1Ų1Ś1ä1ó1ö1÷1ų12222!2+2,2/272:2=2>2A2B2I2J2^2_2„2Ø2¹2ŗ2Ś2Ū2ß2ā2Ć3Ź3Ė3Ī3Ļ3Ó3ś34444 4 44!4`4a4d4e4i4j4n4o4w4|4ƒ4„44‘4–4—4™4š4õAųAżA’ABB B BBBBBBB#B&B,B.B3C6C@CACCCDC_CbCiCjCnCoC~CCˆC‰CCŽC”C£C¦C§CõCöCüCżCDDDD DD$D%D.D/D¢D£DŖD«D®DÆDŠEÓEŪEįEēE F FFF+F4F7F=FEFGFMFOF`FbFsFuFF•F˜FžF¦FØFŖF°FĘFČFąFęFėFńFGG'G)G6G8GPGRGXGZGpGvG}G…GˆGŽG–G˜GžG¤G·G¹GĻGÕGŚGąGHHHHHH6H8H>H@HOHQH_HaHŒHH—HH²H¹HæHĀHĖHŃHčHļHüH’HI I$I+I:I@ILIRIdIjI|I‚II–I¤I§IØI°I“I·IøIĄIĀIĶIŃIŌIÕIŚIÜIćIåIģIīIöIśIJJ JJ"J%J+JGJJJjJrJuJ{J‡JŠJŒJJ¢JØJ“J·JČJĪJŚJąJčJėJūJK KKKK/K5KAKDKYK_KkKnKsKvKwKƒK–K K£K©K¾KÄKĖKÕKŲKŽKóKöK÷KżKLLLLL#L&L,L?LBLCLJLMLSLkLvL€L„L…LL“L™L£L„L®L·L½LæLŌLŻLćLåLłLūLM MMM(M*M;M=MAMHMKMMMQMVMYM[M_MgMjMlMpMwMMM…MMM’M–M”M¤M¦MŖM²MÉMĢMĪMÕMßMėMõMNN N%N+N0N8NqNwN¶N¼N OOMORO[ObOhOsO‚OˆOO–OĮOĘOŠOÜOćOéOīO÷O$P)P3P?PMPYPdPpP€P†PŚPęPźPöPQQ]QcQfQkQtQyQ•QœQRRR"R#R$R%R+R5R7R9RdCdLdRdUd,e/e9e:efQfSfafcf€f…fŒff˜fšf”f¢f§fØfjjj j%j&j*j+j0j1j4j5j8j:j@jBjIjJjMjNjSjTjXjYj\j]jejfjhjijojpjtjujwjxjj„j†j‡jšw›wŸw w|x}x„x…xyŽy—y˜y zzzzzz:z>zBz”z¬zŠzŲzŁzŪzŽzązāzźzėz÷złz{{ {{{{P{V{]{^{i{k{p{q{r{s{ś}ü}~~ ~ ~ ~~~~~~~~$~%~'~(~0~1~2~3~7~8~:~;~>~?~I~K~Q~S~Z~[~^~_~f~g~i~j~m~n~r~s~u~v~~~~€~~…~‡~‰~Š~”~•~‹‘”š›Ÿ ö‚ł‚ż‚ž‚ł‹ż‹ŒŒ Œ ŒNŒSŒWŒ©ŒĄŒŹŒŅŒӌŚŒ܌ńŒóŒ:@GHSUYZSŽUŽZŽ_ŽdŽeŽiŽjŽnŽoŽrŽsŽyŽzŽƒŽ†ŽŒŽŽŽ•Ž–Ž™ŽšŽ£Ž¤Ž©ŽŖŽ®ŽƎ“ŽµŽ¹Ž¼Ž¾ŽæŽ— —g—k—Ł—ą—č—é—š—ņ—ž—’—˜˜˜˜+˜-˜O˜U˜\˜]˜h˜j˜o˜p˜‰™Š™™‘™–™—™™ž™„™¦™Ŗ™«™­™°™³™µ™ø™¹™¾™æ™Į™Ā™ƙęĶ™Š™֙Ų™ߙą™ć™ä™ė™ģ™ī™ļ™ł™ś™’™ššš š ššššššš!š"š'š(š,š-š4š5š8š9š@šAšDšEšRšSšZš\š^š_š‘ž–žœžžžʞɞ6Ÿ7Ÿ8Ÿ8Ÿ:Ÿ:Ÿ;Ÿ;Ÿ=Ÿ>Ÿ@ŸAŸCŸDŸLŸQŸmŸpŸsŸŹŅÖ÷żGY[ø s x y ‰ g j ˆ ‹ — š „ ¬ ³ · Ē Ė ä č ö ’  !  ƒ › Ÿ Ķ Ń   # œ £ ² µ Ł Ü BFvz±“+.RXu}©¬ĖĪūž#&<Beh…‡“½Äęź!txĮÄae²µ%*puy|Ÿ¢ GJcfŁŻēź@GVZdg|‘˜›¢¶¼ĘĶźīū#[b„‹±øŚį #>DRYbfƒ‡¤ØÄČćēõü-4®²#'goegSWx|”ø¼Ó×įäõü’.5LS`g€†‘”¢©Č×Ųāćź  " ) / 3 8 @ K P R V [ c n s u y …  ® “ ¹ ½ Ō × Ū ā ! !!!.!2!J!M!X!\!m!q!€!ƒ!!•!›!!¦!Ø!¹!½!ß!ā!ķ!ń!""""""#"&"/"6"P"T"U"\"|"€"¢"„"·"½"Ć"É"Ó"Ö"ā"å"ō"ū"####,#/#6#:#J#M#X#[#b#i#6%:%®%µ%ø)É)P*W*Z*^*,,w.{.’.–.±.µ.Ģ.Š.č.ģ.ż./// /&/2/9/=/D/z///£/±/“/Ļ/Ö/0 00 0E0I0X0^0u0|0‹00²0·0¾0Ā0į0ę0ķ0ń01 141;1h1q1z1}1Ž1‘1«1°1¾1Ä1Ė1Ļ1ē1ź1ī1õ122%2,2B2F2j2m2{22Ÿ2£2Ä2Ę2Ō2Ö2é2ķ2 33"3&3K3O3c3h3p3t3‹3Ž3 3¢3·3»3¾3Ć3É3Ė344ō45D5O5…5‰5i6q6–:Æ:±;µ;Ś;ä;< <C<I<r<|<“<™<Æ<±<Į<Ē<Ļ<Ō<Ö<Ś<į<č<ė<ņ<ū<===/=6=C=J=c=i=t=w=…=Œ=°=¶=Ą=Ē=ķ=ń=>>>>$>(>2>8>C>I>P>U>W>[>p>v>}>‚>„>ˆ>•>œ>Ą>Ę>Ė>Ļ>é>ģ>š>÷>??&?-?=?A?c?f?j?m?u?{??‰?“?™?¤?Ŗ?»?Å?ą?ć?ō?ł?’?@@ @@@!@'@3@7@;@A@J@N@P@S@^@c@j@l@y@{@‹@@—@™@¤@¦@°@·@¾@Ā@ą@ć@ė@ļ@AAA%A=AAADAJAYA^AkAoA›AžA¤A§A°A³AæAÅAÕAŪAķAóA BBMBPBfBnBvB}B–BœB»BŃBŅBėBģBšBńB C CC(C-CBCHC^CcCxC|C”C–CŗDÅDE EMESE¤F¦FIIJJ#J&J.J2J>JAJIJMJ\J`JjJmJvJ}J€J‚J…JŒJ—JžJ¶J½JŌJŪJöJżJ KK)K/K:KAKGKKKPKSKbKiKK…K’K™K·KČKŹKŌKÖKŻKLLLLL/L7LLBLGLJLVL]LsLwL|L€LˆLL²LÄLĘLČLÉLßLēLģLīLņL÷L’LMM MMMMM#MEMKMQMUMeMgMhMsMuM{M}MˆMŒM‘M”M›M¦MŖM¹M¼MĮMÄMŠM×MķMńMöMśM NN¤OŖOPPRPµP»P°R¾RS¦SęSńS$T2TJTLT]U`UzU~UU“UžU¢U®U²U¼UæUŹUŃUŌU×UŲUßUźUńUV VV"V2V9VFVMVfVlVwV~V„VˆVVV”VØV¼VĄVÅVĢVóVWWWWW3W:W^WbWsW‹WœW W„WØW¶W½WŅWÖWŪWßWźWńWXX-XEXGXMXOXSXXX`XdXiXkXoX|X„X¤XŖX°X“XĒXÉXŌXŲXÜXßXźXšXõXųXYY YYYY-Y2Y7YtAt[t^tŒt“tštžt t§t·t¾tēuėuJvLvµv¹v0w9wz'zFzHzU{[{e{h{q{w{‡{Ž{”{„{Ė{Ļ{ą{ä{ü{|||+|1|:|?|H|L|X|[|f|j|q|w|ƒ|Š|’|™|}}1}7}M}P}l}n}‘}˜}Ŗ}®}Č}Š}Ż}ā}ę}ź} ~~$~,~:~?~C~G~i~p~~~†~”~™~~”~Ā~Ä~ē~ī~%9?HP^cgku|•£«¹¾ĀĘŲ߀€C€L€U€X€i€l€€€…€‘€—€¦€Ŗ€Ź€Ń€ų€ž€48HN^bosœ£ĆĒęé‚ ‚‚‚%‚*‚@‚F‚K‚R‚k‚s‚‚‘‚“‚·‚Ń‚Ų‚ƒƒIƒPƒwƒ}ƒ‘ƒ”ƒ²ƒ¹ƒŚƒįƒ„ „/„2„F„M„\„a„w„{„™„ „Ņ„Ų„ķ„ņ„……"…'…8…=…M…T…i…m…‹……­…²…Ą…Ę…č…ķ… † †%†,†G†N†]†a†ˆ†‹†¦†­† ‡‡8‡>‡R‡U‡n‡s‡Œ‡‡¬‡³‡Ž‡ä‡÷‡ü‡ ˆˆ+ˆ0ˆDˆIˆZˆ^ˆƒˆ‡ˆ¤ˆ©ˆ·ˆ½ˆÜˆįˆńˆõˆ ‰‰!‰%‰>‰B‰Š‰Œ‰Ā‰Č‰ó‰ö‰YŠ]Š·Š¹ŠüŠ’Š(‹,‹‡‹Ž‹£‹Ø‹½‹Ą‹Ź‹Ī‹ė‹ļ‹Œ Œ<Œ?Œ¤Œ«ŒŚÜ"Ž)Ž¢Ž¦ŽH‘Ī‘W—e—„—†—”˜š˜¢˜„˜¬˜²˜æ˜Å˜™ ™™™(™,™<™@™I™M™W™[™g™k™v™z™†™Š™”™—™ž™„™Ø™Ŗ™®™µ™Ą™Ē™Ł™ą™ń™ų™ššš&š8š?šQšXšešlš„šŠš•š˜š¦š­šŹšŃšāšéšļšóšżš››››$›&›*›5›<›G›O›Y›^›`›d›o›t›~›†››•›—›››¦›¬›¶›¾›Č›Ķ›Ļ›Ó›Ų›ą›å›ź›ģ›š›õ›ü›œœœ œœœœ&œ)œ0œGœMœTœXœdœgœoœsœ œ·œøœĒœČœĢœÖœŚœēœģœņœųœ4KL[\_gn{‚Œ“ ¤“¹ÉĶĪÓŁŻīńūž!ž'ž3ž:žXž^žhžožœžŸž©ž°žŗžĮžĪžÕžāžēžņžöžŸ ŸŸŸ)Ÿ.Ÿ:ŸAŸKŸRŸ_ŸfŸsŸwŸ‡ŸŒŸ—Ÿ›ŸžŸ£Ÿ©Ÿ­Ÿ¾ŸĆŸĻŸÖŸąŸēŸśŸžŸ  ( / @ D U X ` g † Œ ˜ › „ Ŗ ¶ ŗ É Ķ Ż ā č ī ””””*”.”1”6”<”@”O”T”`”d”}””ž”¢”¬”Æ”³”·”į”唢¢7¢G¢H¢`¢v¢z¢…¢Œ¢¦¢­¢°¢µ¢»¢Į¢Ó¢Ų¢ä¢č¢ų¢ü¢ ££££/£4£A£G£T£V£W£q£s£x£‰££™£œ£©£°£Ī£Ō£ą£ä£ ¤¤$¤)¤,¤1¤7¤:¤C¤J¤b¤f¤g¤n¤Œ¤¤¤¢¤Ø¤Æ¤Ė¤Ń¤ß¤ę¤ś¤’¤Z¦_¦u§x§§…§©§­§“§Ē§«"««¬±¬Œ­’­›­ ­Ø­«­±­·­Ē­Ī­ā­ę­÷­ū­®®0®4®I®M®p®t®®“®®®²®Ķ®Ń®ć®ē®ņ®ö®ÆÆ ÆÆÆÆ#Æ0Æ4Æ;Æ?ÆFÆkÆqÆyÆƐƛƄÆØưƵƻÆĆÆČÆĪÆÖÆŻÆīÆ°°° °7°:°S°V°u°x°°°—°²°ø°Å°Ģ°Ö°Ś°į°č°±±#±1±5±8±F±M±n±r±|±ƒ±©±®±²±¶±½±Ä±ī±²²²²$²+²0²4²8²?²F²n²}²²‘²•²²¤²©²­²±²»²Č²Ī²Õ²³³³³,³7³D³G³Q³V³`³d³v³~³‡³Œ³³”³ž³«³±³ø³į³7Ÿ8Ÿ8Ÿ:Ÿ:Ÿ;Ÿ;Ÿ=Ÿ>Ÿ@ŸAŸCŸDŸQŸmŸsŸ333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333.%/%ś3ś3¢D£D H H}LLRR ffff˜w˜wzxzx‰y‰yÄzŠzŒ””ö‚ö‚ĒŒŹŒTŽUŽ…Ž†ŽŽ—ą—7Ÿ8Ÿ8Ÿ:Ÿ:Ÿ;Ÿ;Ÿ=Ÿ>Ÿ@ŸAŸCŸDŸpŸsŸ.%/%ś3ś3¢D£D H H}LLRR ffff˜w˜wzxzx‰y‰yÄzŠzŒ””ö‚ö‚ĒŒŹŒTŽUŽ…Ž†ŽŽ—ą—sŸ2@’Ž„ā®’’’’’’’’’_tę]&d’’’’’’’’’ź\}@ŠĄr’’’’’’’’’7Ęb 6“’’’’’’’’’E`Ā“¼°’’’’’’’’’÷† °ü&’’’’’’’’’w} ų&¼’’’’’’’’’H” –Št™’’’’’’’’’ß ó "8F’’’’’’’’’37 ŲƒŽp’’’’’’’’’ķgĖ ģeP„’’’’’’’’’'vØ"žÖ’’’’’’’’’ÆkƒäH’ø’’’’’’’’’Ń;ųX€2 ’’’’’’’’’}DĢ榯’’’’’’’’’p$vsŽ”’’’’’’’’’“c źn(k’’’’’’’’’$öŲ|’’’’’’’’’’ĖMG%jaģ–’’’’’’’’’ 4õ&>č䌒’’’’’’’’ę Ü18 ź’’’’’’’’’ŗ"$3*Œ#’’’’’’’’’| 5BP²’’’’’’’’’[ó8b 6“’’’’’’’’’‚IY9ˆ‹Źń’’’’’’’’’n’<0”ns’’’’’’’’’v"Ū>¶“†‡’’’’’’’’’‡wå?t:ØT’’’’’’’’’ÕQ¶@ĄGŒ­’’’’’’’’’9#A:#Ŗi’’’’’’’’’|?nFmVš’’’’’’’’’“c ž #TOq~3‰p`7ųK÷† ÕQ¶@ ĘL}D|?nF'vØÆkƒŃ;ų Qg|$G‡wå?[ó8Ź6ĄQŹ37 BrĪhp$ß ó ¶Uķ[ź\}ķgĖ W’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’2’’2                           V•                                   ’’’’üö’’’’’’’’’’’’’’’’’’’’’’’’’’’’                                             ŲmŠl                 Ņ&jé                                                                                nŲĀ¹         Ž8Zå                                                    <€>        Õš£                          =öĘ        V•        Ōž‚        Ī‹        öij                 Øf¼Č        ēŽ        1ˆ%÷ŌNłi#į1)źVvƒE Å=$>‹ ~ˆ%÷ŹE0m„JßĖY«ą~?#A 1)źƒ"ˆ!c‰$L÷%ĖY«D W*‹ ~h<+„UŽ-k?G1ŹEÅ=$>:/Ė>:/Ė>fSWOŃ>#įMņ@dR.DĢTiUg EVvƒEŒZfõFÆ2¶H] GxcLh<+,£QMņ@fSWc‰$ X„JߌnZŒZž5ŁgĄ'QhĢTiL÷%ŌNłiv=“j u‰x„jQvk„M©my"‚k0mž5Łg„M©m XXSvsv=“jŒ\łsą~?] Gx£Q u‰xcLū.f|8>w|Œ\łs¬~“…vÅ8>w|LåKĒZV-Ķe…O¼&j`ēe yę —` ¢g ć ;E h • É&h+D3ļ`¾Hūiåä¤&"%ŌM)xiMCŁIĪc™¤;B«!<"uF"”t"”r$x$K1& ';"'µg'Ļj'!X+³,7^-‡.† .Œ6.į/¹0/Nd/ŹJ0„d0 -1G2į3ŽM3}e4żr4®5664B7ć&8{i9v):Že:Āl=¼+>2\?Ŗs@A£&ADDBÅ;Cõ2G2ZGiHąWH=0IƒpI­-J_K™~K=kLHyMŠN’3N5wNĆPź2P‹5Q 3S}cUAnUr3VčvV×xXzY*VYkG[\k+\¼/\ˆ^dIa£ra-bę dė erEe™f˜ f)i§wi&/j]Fj m mˆ?mķomsnY o5oMqŌiq]6r\GrbprĖ#sn(sjMswQsÆUtę#uī+uouk vw' y… zxzÆH{ÕK{Y{[{Ģw~Ą€ļ‚²y‚qƒHrƒu5„š†” ‡Ż‡ļŠ¤ Š·:ŠJ‹µR‹^‹9ŒliŒYmŒ]<BKLeRVŽąeˆ ’W]’æ“.X“` ”וļO•÷–Ą^–2—Ī—§˜c›Žk›Ń-::žŸ-Ÿ¦Q”b”‰z¢4|¢ D£˜Q£½i¤Ŗ(„åq„f§§±u§Ó.Ŗ" ­&F®[Æ.~Æ`~Ævp°V±O“1VµŒ ¶5·‘D·D·Fg·%l·z|øĮ&¹#B¹UJ¹¹s¹!=ŗÕ`ŗÆ(¼„^¼C!½ŒO½TZ½{A¾Ä\ælĄ]sĄņĮPEĮåoĮ~Ā9ĆZļ+Äõ~ÄøcÅgÅgĘ¹FĘźMĘg}ĘDĒ/%Ē“BČšyČötɵ'Ģ³ĶēDĶDMĶ®Ļ"<ĻĮhŠš6ŃīCŃ6"Ņd&Ó±BÓĪbÓų%ŌūuŌhyŌRÕ9_Õ\bÕW4Öü|ÖGŲ|eŁĢŚņJŚ?ŪOCŪ÷ ܔÜØ8ÜMÜcŻ„qŽ³ߌoßO)ą³+ąHį}įł ć5HćQåŽbåŠjē5čGlź!rźŽ.ģ&XģzģbuīÆtļ{&š0ņb2ņ%&ó“Fó"Iōčwō›õ²;õA;öĘSö†ö¤(÷-X÷ģų"ųZų DłcłĢIśB'ū°6üłyüX żLžą’8Ÿ:Ÿ’@€BBŃBBrŸX@’’Unknown’’’’’’’’’’’’ G’*ąCxĄ ’Times New Roman5€Symbol3. ’*ąCxĄ ’Arial7.’ą’¬@ŸCalibriGCharterBT-Roman7. ’”[ @ŸVerdana7=† (NSimSun;†(SimSun‹[SO7’ą’@ŸCambria?= ’*ąCxĄ ’Courier New;€WingdingsA’ą’$BŸCambria Math"1 ˆšŠhķ„‡D%§w*xFLół=?aeŌńł=?aeŌńqšśx“‚4ddždž  2ƒqšÜ’żHPš’?ä’’’’’’’’’’’’’’’’’’’’’‰z¢2! xx ’’WorkshopDHEERAJŌ2                           ! " # $ % & ' ( ) * + , - . / 0 1 ž’ą…ŸņłOh«‘+'³Ł0l˜¤°ÄŠą šü  ( 4 @LT\dä WorkshopNormalDHEERAJ76Microsoft Office Word@r”µE@¶ˆˆ [Ć@JY…¹{Ķ@d %ĮĪeł=?až’ÕĶ՜.“—+,ł®DÕĶ՜.“—+,ł®,č hp|„Œ” œ¤¬“ ¼ ÉäaguńŌdž  Title¬ 8@ _PID_HLINKSäAdŲQjl8http://en.wikipedia.org/wiki/Peek_(data_type_operation)wOi&http://en.wikipedia.org/wiki/Heapsortwc_f4http://en.wikipedia.org/wiki/Dijkstra%27s_algorithmw7rc'http://en.wikipedia.org/wiki/Algorithmwo`*http://en.wikipedia.org/wiki/Graph_theorywG]5http://en.wikipedia.org/wiki/Node_(computer_science)w"WZ,http://en.wikipedia.org/wiki/Data_structurewx0W3http://en.wikipedia.org/wiki/Tree_(data_structure)wT6https://en.wikipedia.org/wiki/Node_(computer_science)w?XQ+http://en.wikipedia.org/wiki/Tree_rotationw;tN,http://en.wikipedia.org/wiki/Big_O_notationw{K(http://en.wikipedia.org/wiki/Child_nodewK'H)http://en.wikipedia.org/wiki/Tree_heightw,8E&http://en.wikipedia.org/wiki/AVL_tree cite_note-1"WB,http://en.wikipedia.org/wiki/Data_structurew7??http://en.wikipedia.org/wiki/Self-balancing_binary_search_treewP.<7http://en.wikipedia.org/wiki/List_(abstract_data_type)wT93http://en.wikipedia.org/wiki/Tree_(data_structure)SubtreeZk60http://en.wikipedia.org/wiki/Binary_search_tree cite_note-1U)3)http://en.wikipedia.org/wiki/Binary_treewG05http://en.wikipedia.org/wiki/Node_(computer_science)w Y*Jhttp://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svgwL:')http://en.wikipedia.org/wiki/Linked_listwA&$*http://en.wikipedia.org/wiki/Null_pointerw,[!+http://en.wikipedia.org/wiki/Sentinel_nodewHR:http://en.wikipedia.org/wiki/Reference_(computer_science)wKX6http://en.wikipedia.org/wiki/Field_(computer_science)wG5http://en.wikipedia.org/wiki/Node_(computer_science)w{.7http://en.wikipedia.org/wiki/Record_(computer_science)wU3http://en.wikipedia.org/wiki/Linked_data_structurew9y;https://en.wikipedia.org/wiki/Reference_(computer_science)w 6https://en.wikipedia.org/wiki/Node_(computer_science)w<_ -https://en.wikipedia.org/wiki/Data_structureww<1http://en.wikipedia.org/wiki/Order_of_operationsw6v+http://en.wikipedia.org/wiki/Associativityw&,http://en.wikipedia.org/wiki/Token_(parser)w  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūž’’’żž’      !"#$%&'()*+,-./0123456789:;<ž’’’>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųž’’’śūüżž’ž’’’    ž’’’ż’’’ż’’’ż’’’ż’’’ż’’’ż’’’ż’’’ž’’’ž’’’ž’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’Root Entry’’’’’’’’ ĄF°pFĮĪData ’’’’’’’’’’’’üż€1Table’’’’’’’’=wWordDocument ’’’’EöSummaryInformation(’’’’’’’’’’’’łDocumentSummaryInformation8’’’’’’’’ŲMsoDataStore’’’’’’’’pdFFĮĪ€›mFĮĪĪĘMSJBESJEĪMHŌŁŲÅÜŠČBQ==2’’’’’’’’pdFFĮĪ€›mFĮĪItem ’’’’ ’’’’ģProperties’’’’’’’’’’’’UCompObj’’’’ y’’’’’’’’’’’’ž’’’ ž’’’ ž’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ ž’ ’’’’ ĄF'Microsoft Office Word 97-2003 Document MSWordDocWord.Document.8ō9²q