版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章 异常处理当发生运行时错误时,不能简单地结束程序运行,而是退回到任务的起点,指出错误,并由用户决定下一步工作。函数执行时,放在try(测试)程序块中的任何类型的数据对象发生异常,都可被throw表达式抛出,随即逆调用链退回,直到被catch子句捕获,并在此执行异常处理,报告出现的异常等情况。10.1 异常的概念异常概念的引入:异常是程序可能检测到的,运行时不正常的情况,如存储空间耗尽、数组越界、被0除等等。C+提供了一些内置的语言特性来产生或抛出异常,用以通知“异常已经发生”,然后由预先安排的程序段来捕获异常,并对它进行处理。这种机制可以在C+程序的两个无关(往往是独立开发)的部分进行“
2、异常”通信。由程序某一部分引发了另一部分的异常,这一异常可回到引起异常的部分去处理(逆着程序函数的调用链)。10.2 异常处理机制异常与异常抛出:(以栈为例,异常类声明如下)class popOnEmpty.; /栈空异常class pushOnFull.; /栈满异常测到栈满或空就抛出一个异常。template void Stack:Push(const T&data) if(IsFull() throw pushOnFull(data);/注意加了括号,是构造一个无名对象 elements+top=data; templateT Stack:Pop() if(IsEmpty() throw
3、 popOnEmpty(); return elementstop-; 注意pushOnFull是类,C+要求抛出的必须是对象,所以必须有“()”,即调用构造函数建立一个对象。throw表达式抛出异常为异常处理的第一步。在堆栈的压栈和出栈操作中发生错误而抛出的异常,理所当然地应由调用堆栈的程序来处理。异常并非总是类对象,throw表达式也可以抛出任何类型的对象,如枚举、整数等等。但最常用的是类对象。在C+中异常抛出与异常处理之间有一整套程序设计的机制。首先采用关键字try,构成一个try块(try block),它包含了抛出异常的语句。当然也可以是包含了这样的调用语句,该语句所调用的函数中有能
4、够抛出异常的语句。try块与catch子句的关系实例:int main() int a9=1,2,3,4,5,6,7,8,9,b9=0,i; stackistack(8); try for(i=0;i9;i+) istack.Push(ai); istack.PrintStack(); catch(pushOnFull)cerr”栈满”endl; try for(i=0;i9;i+)bi=istack.Pop(); catch(popOnEmpty)cerr”栈空”endl; for(i=0;i9;i+) coutbit; coutendl; return 0; 说明:这里有两个try块,分别
5、对应压栈与出栈;也有两个catch子句(catch clause),分别处理压栈时的栈满和出栈时的栈空。 由catch字句捕获并处理异常是第二步。注意与catch语句分别匹配的是在压栈和出栈成员函数模板中的throw语句,一个抛出pushOnFull类的无名对象,另一个抛出popOnEmpty类的无名对象。在编制程序时有一条惯例:把正常执行的程序与异常处理两部分分隔开来,这样使代码更易于跟随和维护。在上例中,我们可以把两个try块合成一个,而把两个catch子句都放在函数最后。 流程控制规则:1如果没有异常发生,继续执行try块中的代码,与try块相关联的catch子句被忽略,程序正常执行,m
6、ain()返回0。2当第一个try块在for循环中抛出异常,则该for循环退出,try块也退出,去执行可处理pushOnFull异常的catch子句。istack.PrintStack()不再执行,被忽略。3如果第二个try块调用Pop()抛出异常,则退出for和try块,去执行可处理popOnEmpty异常的catch子句。4当某条语句抛出异常时,跟在该语句后面的语句将被跳过。程序执行权交给处理异常的catch子句,如果没有catch子句能够处理异常,则交给C+标准库中定义的terminate()。10.3 栈展开与异常捕获catch子句说明:当try块中的语句抛出异常时,系统通过查看跟在其
7、后的catch子句列表,来查找可处理该异常的catch子句。catch子句由三部分组成:关键字catch、圆括号中的异常声明以及复合语句中的一组语句。注意:catch子句不是函数,所以圆括号中不是形参,而是一个异常类型声明,可以是类型也可以是对象。catch子句与函数的不同之处在于:它只有一个子句,没有定义和调用之分。使用时由系统按规则自动在catch子句列表中匹配。catch子句可以包含返回语句(return),也可不包含返回语句。包含返回语句,则整个程序结束。而不包含返回语句,则执行catch列表之后的下一条语句。 catch子句异常声明探讨:异常声明中可以是一个对象声明。以栈为例。当栈满
8、时,要求在异常对象中保存不能被压入到栈中的值。catch子句的异常声明与函数参数声明类似,可以是按值传送,也可以是按引用传递。使用引用类型的异常声明,catch子句能够修改异常对象,但仅仅是异常对象本身,正常程序部分的量并不会被修改。与一般类对象不同,实际上异常对象处理完后,生命期也就结束了。函数try块的使用:把程序的正常处理代码和异常处理代码分离的最清楚的方法是定义函数try块。这种方法是把整个函数包括在try块中。 一个函数try块把一组catch子句同一个函数体相关联。如果函数体中的语句抛出一个异常,则考虑跟在函数体后面的处理代码来处理该异常。函数try块对构造函数尤其有用。只要遇到第
9、一个匹配的catch子句,就会进入该catch子句,进行处理,查找过程结束因发生异常而逐步退出复合语句和函数定义的过程,被称为栈展开。这是异常处理的核心技术。栈展开时资源的释放:C+异常处理过程本质上反映的是“资源获取是由构造函数实现,而资源释放是由析构函数完成” 。由文件重构对象应该放在构造函数中,把对象存入文件应该放在析构函数中。异常对象的探讨:异常对象是在throw表达式中建立并抛出:throw表达式通过调用异常类的构造函数创建一个临时对象,然后把这个临时对象复制到一个被称为异常对象的存贮区中,它保证会持续到异常被处理完。 函数调用和异常处理的区别:建立函数调用所需要的全部信息在编译时已
10、经获得,而异常处理机制要求运行时的支持。对于普通函数调用,通过函数重载解析过程,编译器知道在调用点上哪个函数会真正被调用。但对于异常处理,编译器不知道特定的throw表达式的catch子句在哪个函数中,以及在处理异常之后执行权被转移到哪儿。这些都在运行时刻决定,异常是随机发生的,异常处理的catch子句是逆调用链进行查找。10.4 异常的重新抛出和catch all子句异常的重新抛出与连续处理:当catch语句捕获一个异常后,可能不能完全处理异常,完成某些操作后,该异常必须由函数链中更上级的函数来处理,这时catch子句可以重新抛出该异常,把异常传递给函数调用链中更上级的另一个catch子句,
11、由它进行进一步处理。rethrow表达式仍为:throw; 但仅有一个关键字,因为异常类型在catch语句中已经有了,不必再指明。被重新抛出的异常就是原来的异常对象。catch子句中的异常声明必须被声明为引用。通用catch子句(catch_all):catch(.)代码*/ 任何异常都可以进入这个catch子句。这里的三个点称为省略号。花括号中的复合语句用来执行指定操作。异常发生后按栈展开退出,动态分配的非类对象资源不会自动释放的,通常在catch_all子句中释放。通用catch子句的应用: catch_all子句可以单独使用,也可以与其它catch子句联合使用。如果联合使用,它必须放在相
12、关catch子句表的最后。catch子句被检查的顺序与它们在try块之后排列顺序相同,一旦找到了一个匹配,则后续的catch子句将不再检查,按此规则,catch_all子句(catch(.))处理表前面所列各种异常之外的异常。如果只用catch_all子句进行某项操作,则其他的操作应由catch子句重新抛出异常,逆调用链去查找新的处理子句来处理,不能在子句列表中再安排一个处理同一异常的子句,因为第二个子句是永远执行不到的。10.5 异常与继承异常的层次结构:在C+程序中,表示异常的类通常被组成为一个组(即如在前面各节讨论的那样)或者一个层次结构。定义一个称为Excp的基类,由它来打印错误信息:
13、class Excp public:void print(string msg)cerrmsgendl; ;再从该基类派生出两个异常类:class stackExcp:public Excp.; /栈异常类的基类class mathExcp:public Excp.; /数学库异常的基类进一步派生出其他异常类:class popOnEmpty:public stackExcp.; /栈空退栈异常class pushOnFull:public stackExcp.; /栈满压栈异常class zeroOp:public mathExcp.; /数学库零操作异常class divideByZero
14、:public mathExcp.; /数学库被零除异常 层次异常结构的抛出:在层次结构下,异常的抛出会有一些不同,以下做法是错的。if(full() pushOnFull except(data); stackExcp *pse=&except; /pse指向的类对象为pushOnFull throw *pse; /抛出的异常对象的类型为stackExcpcatch子句的排列顺序:在处理类类型异常时,catch子句的排列顺序是非常重要的。catch(pushOnFull). /处理pushOnFull异常catch(stackExcp). /处理栈的其他异常catch(Excp). /处理一
15、般异常派生类类型的catch子句必须先出现,以确保只有在没有其他catch子句适用时,才会进入基类类型的catch子句。异常catch子句不必是与异常最匹配的catch子句,而是最先匹配到的catch子句,所以在catch子句列表中最特化的(匹配条件最严格的)catch子句必须先出现。类层次结构下的异常重新抛出:类层次结构的异常同样可以重新抛出,把一个异常传递给函数调用列表中更上层的另一个catch子句:throw;重新抛出的异常仍是原来的异常对象。如果程序中抛出了pushOnFull类类型的异常,而它被基类的catch子句处理,并在其中再次被抛出,那么这个异常仍是pushOnFull类的异常
16、,而不是其基类的异常。虚函数是类层次结构中多态性的基本手段,异常类层次结构中也可以定义虚拟函数。 10.6 异常规范异常规范提供了一种方案,可以随着函数声明列出该函数可能抛出的异常,并保证该函数不会抛出任何其他类型的异常,在stack类定义中可有: void Push(const T&data) throw(pushOnFull) ;T Pop() throw(popOnEmpty); 成员函数类内声明和类外定义必须必须在两处都有相同的异常规范,同样的异常规范。一个函数的异常规范的违例只能在运行时才能被检测出来。如果在运行时,函数抛出了一个没有被列在它的异常规范中的异常时(并且函数中所抛出的异
17、常,没有在该函数内部处理)则系统调用C+标准库中定义的函数unexpected()。仅当函数中所抛出的异常,没有在该函数内部处理,而是逆调用链回溯寻找匹配的catch子句的时候,异常规范才起作用。如果异常规范为throw(),则表示不得抛出任何异常。虚函数中的异常规范:派生类的虚拟函数的异常规范必须与基类虚函数的异常一样或更严格。因为当派生类的虚函数被指向基类类型的指针调用时,保证不会违背基类成员函数的异常规范。 10.7 C+标准库的异常类层次结构C+标准库中的异常层次的根类被称为exception,定义在库的头文件中C+标准库提供的逻辑异常:invalid_argument异常,接收到一个
18、无效的实参,抛出该异常。out_of_range异常,收到一个不在预期范围中的实参,则抛出。length_error异常,报告企图产生“长度值超出最大允许值”的对象domain_error异常,用以报告域错误(domain error)。C+标准库提供的运行时异常:range_error异常,报告内部计算中的范围错误。overflow_error异常,报告算术溢出错误。underflow_error异常,报告算术下溢错误。以上三个异常是由runtime_error类派生的。bad_alloc异常。当new()操作符不能分配所要求的存储区时,会抛出该异常。它是由基类exception派生的。薃肀
19、莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀
20、芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈
21、莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈
22、羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿
23、羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇
24、肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇
25、肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈
26、肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆
27、膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆
28、膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇
29、芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅
30、芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆
31、芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆
32、莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄
33、羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅
34、羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅
35、肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁 荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁
36、薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅
37、螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆
38、蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀
39、薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁
40、螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节
41、蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆
42、蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇
43、螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁
44、蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂
45、蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃
46、螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇肂芆莅薆螂聿芁薅袄芅薀薄羇肇蒆蚄聿芃莂蚃螈肆芈蚂羁芁芄蚁肃膄薃蚀螃荿葿虿袅膂莅蚈羇莈芁蚈肀膁蕿螇蝿羃蒅螆袂腿莁螅肄羂莇螄螄芇芃螃袆肀薂螂羈芅蒈螂肁肈莄袁螀芄芀袀袂肇薈衿羅节蒄袈膇肅蒀袇袇莀莆蒄罿膃节蒃肁荿薁蒂螁膁蒇蒁袃莇莃薀羆膀艿薀肈羃薈蕿袈膈薄薈羀肁葿薇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市道路塌陷防治工程师考试试卷及答案
- 线上线下消费融合体验升级方案
- 2026年春五年级组组长工作计划
- 区块链赋能医疗科研数据高效共享模式
- 信息化管理制度不断(3篇)
- 俱乐部音乐活动策划方案(3篇)
- 概算审核内部管理制度(3篇)
- 施工方案监理审查(3篇)
- 人事管理制度关系图(3篇)
- 医院分院行政管理制度(3篇)
- 2026年山西药科职业学院单招职业技能考试题库及答案1套
- 2025至2030船用火箭行业发展趋势分析与未来投资战略咨询研究报告
- 七年级下英语考试题及答案
- 媒体行业微信公众号运营策略优化方案
- 2026年高考化学一轮复习(广东专用)第03讲离子共存、离子的检验与推断(复习讲义)(学生版+解析)
- 中航机载系统共性技术有限公司招聘笔试题库2025
- 以文化人:宁波七中校园文化德育功能强化的实践与启示
- 2025至2030全球及中国超可靠低延迟通信(URLLC)行业项目调研及市场前景预测评估报告
- 小儿中药贴敷治疗讲课件
- 中国石化联锁管理制度
- T/CECS 10214-2022钢面镁质复合风管
评论
0/150
提交评论