扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
7月,O’Reilly编辑John Osborn参加了微软职业开发者会议。在此,他对著名的工程师、微软.Net框架C#语言首席架构师Anders Hejlsberg进行了采访。Anders Hejlsberg因设计PCs上最早的语言之一—Turbo Pascal而广为人知。他把Turbo Pascal许可给Borland公司,后又率队创建了Delphi—一个极为成功的可视化的client/server应用设计工具。访问时在座的还有微软C#产品经理Tony Goodhew和O'Reilly的Windows编辑Ron Petrusha。
Osborn:
我已经看到一些关于C#(发音为"See sharp")的新闻故事,并注意到有很多似乎倾向于这样的观点,或理论上说,C#不是Java的克隆就是Java的微软替代品。如果你来做宣传的话,你希望人们怎么评论这门语言?
Hejlsberg:
首先,C#不是Java的克隆。在设计C#期间,我们考察了很多种语言,我们考察了C++,我们考察了Java,我们考察了Modula 2、C,我们还考察了Smalltalk。很多语言都有我们感兴趣的相同的核心思想,比如深度面向对象、简化对象(object-simplification)等等。
C#和这些别的语言尤其是Java之间的关键不同点是,它非常接近C++,在我们的设计中努力使然。C#从C++直接借用了大多数的操作符、关键字和声明。我们还保留了许多被Java抛弃的语言特性。为什么Java中没有枚举,道理何在?我的意思是,抛弃它们是基于何种理论基础?在C++中,枚举显然是一个很有意义的概念。在C#中,我们保留了枚举并同样使其类型安全。并且,枚举不只是整型,它们实际上是从.NET基类库里的System.Enum派生下来的强类型的值类型。如果没有进行造型转换,枚举类型“foo”和枚举类型“bar”不可互换。我认为这是个重要的差异。我们还保留了操作符重载和类型转换。C#名字空间的整体结构也非常接近C++。
但是,超越这些传统的语言论题,我们设计语言的一个关键的目标是使C#面向组件。我们向语言自身加入了你在编写组件时所需要的所有概念。例如properties(属性)、methods(方法)、events(事件)、attributes(特性)和documentation(文档),它们都是一等的语言成分。我们对特性所做的工作是全新且具有创新意义的,利用特性可为任何对象加入有类型的、可扩展的元数据。这在目前任何其它程序语言里都看不到。C#也是第一个合并XML注释标签的语言,编译器可以用其直接从源码中生成可读的文档。
另外一个重要的概念是我所说的“一站购物式软件”(one-stop-shopping software)。一旦你用C#写代码,你就一体化地写了一切。不再需要头文件、IDL(接口定义语言)文件、GUIDs和复杂的接口。因为它是自包容的单元,所以,一旦你能够以这种方式编写自描述的代码,你就可以把你的软件嵌入到ASP页面或植入各种不同的环境,这在以前是不可能的。
让我们再回到这些关键的组件概念。语言是否应该支持属性或事件,业界有很多争论。没错,我们是可以用方法表达这种概念。我们可以用诸如“get”或“set”之类的程序块的命名模式,模拟属性的行为。我们可以用接口和实现接口的适配器并转发到对象。这都是可以实现的,正如同可以在C语言里进行面向对象编程一样。只是它更加困难,需要更多手工劳动,为了真正表达你的思想,你最终不得不去做所有的工作。我们认为是时候了,应该有门语言使得创建组件变得容易些。最近几年来,开发人员在创建软件组件。他们并不是创建整个应用或整个类库。每个人都是在创建从宿主环境提供的基组件继承下来的组件。这些组件重载一些方法和属性,它们处理事件,并把组件安装回系统。树立这些概念是关键的第一课。
Osborn:
你最近在介绍C#时,第一张幻灯片上面写着:“C/C++家族里第一个面向组件的语言”。
Hejlsberg:
是的。这是我的首要目标之一。我们谈论一切如何都是对象,这也非常关键。以前象Smalltalk和Lisp语言都可以这么做,但代价高昂。我认为C#包含一些优美有趣的创新,以使得组件开发容易些。例如装箱和拆箱的概念。装箱可以使一个值类型的值转换为一个对象,拆箱可以使一个对象转换为一个简单类型的值。这在以前或许也有,但我们把它应用于语言的方式是一种优美的创新。
我们努力避免以“象牙塔”的方式设计C#和.Net框架。我们承受不起重写我们所有的软件的负担。业界也负担不起,特别是今天我们正转移到Internet时代。你要善于利用你已经拥有的。所以,我认为互操作性也是关键的。我们致力于为程序员提供所有符合Internet标准的可互操作的恰当的解决方案,例如HTTP、HTML、XML以及业已存在的微软技术。所以你不会有如坠深渊的那一刻—发现新的.NET框架下没有提供你用的一些东西,或者当你意识到你想利用一些已经存在的API或组件的时候。你已经看到我们已把所有COM互操作能力内建入语言和通用运行时;你已经看到可以使用DllImport特性导入已存在的DLL(动态连接库);你已经看到即使那些都不能遂你所愿,我们也有不安全代码的概念。不安全代码允许你编写使用指针的内联C代码,可以做不安全的造型转换,可以抑制内存从而使其不会被意外地垃圾收集。
关于不安全代码有很多争论,人们似乎认为我们在吸毒或是在干什么别的坏事。我认为这是个误会。代码不会仅仅因为标记了“unsafe”就表示它不受管制。当然,我们不会扔出不安全的指针使人们容易受到从Internet下载的不安全代码的攻击。不安全代码被深深地约束在安全系统里。我们提供这样的弹性:1.呆在托管代码箱里完成工作而不会坠入深渊;2.转入一种不同的语言使用一种不同的编程模型编写本地代码。如果你停留在这个箱子里,我们会使代码更加安全,因为系统知道它要干什么。事实上,即使你编写不安全代码也并不意味着你离开了托管空间。因此,你的不安全代码会变得更能干。
Osborn:
请给我多讲一些在托管环境里处理不安全代码的机制。
Hejlsberg:
好的。描述托管执行环境比如Smalltalk、Java和.NET通用语言运行时一个重要特征是它们提供了垃圾收集机制。为了提供垃圾收集机制,至少要提供一个现代的垃圾收集器,一个“标记和清扫”垃圾收集器,比起传统非托管代码来说,你必须更多地了解正在执行的代码。为了找出要排除的死对象,你必须能遍历堆栈,找到所有活动的根,并指出哪些对象是活动的哪些是不再被访问的。然而,为了能够达到这个目标,你必须和你执行的代码紧密协作。代码要具有更好的描述性。它要告诉你它是怎么分布在堆栈里的,它的局部变量在什么地方等等。
当你在C#中编写不安全代码时,你可以做不是类型安全的事,比如指针操作。当然,标记为unsafe的代码并非绝对执行在不可信任的环境里。为了使之执行,你必须授予信任,否则,代码将不会执行。从这一点来看,和其它本地代码并无区别,真正的区别是它们仍然运行在托管空间里。你编写的方法有一个描述表,它告诉你哪些对象是活动的,因此,不管什么时候你进入这些代码,你都不必跨越列集边界(marshalling boundary)。否则,当你进入非描述性的、非托管代码(比如通过Java本地接口),你不得不在堆栈上设置一个水印或设立一个屏障。你必须重新列集所有箱子外的引数(arguments)。一旦开始使用对象,你必须对你触及的东西小心翼翼,因为GC(垃圾收集器)仍然在另一个不同线程里运行。如果你不使用一些隐晦的方法锁定对象从而正确地抑制垃圾收集器,它可能会移去对象。如果你忘记那么做,那你将会不走运。
我们采用了一种不同的方式。我们说过,“让我们集成这个到语言中去。让我们提供声明,例如fixed声明,它可以让你抑制对象以和GC协作并集成之。”用这种方法,我们提供最佳方式,带领所有已经存在的代码一起向前,而不是仅仅将它们抛弃。这是一种不一样的设计方式。
Osborn:
因此,你们处理的不安全代码的内存,实际上是在垃圾收集器的监视之下?
Hejlsberg:
没错,是这样。但是,就象所谓的“购者自慎,不包退换”一样,它并不安全。你可以获取指针并做错事,当然,你在本地代码里也能干同样的错事。
Osborn:
我认为另一个易混淆的地方,是理解C#在哪儿停止以及通用运行时从哪儿开始。与它从通用运行时库得到的相比,C#语言自身的创新是什么?
Hejlsberg:
好的,我想这个混淆来源于这样一个事实:当人们谈论Java时,他们并不真的知道哪个是语言哪个是运行时。当人们谈论Java时,某些混淆就发生了。哪个是语言哪个是运行时?当他们谈论Java时,他们到底指的是什么?Java,语言?Java,语法?还是Java,平台?人们将这些不同的方面混为一谈。我们的方式表明我们想成为一个多语言的平台。我们将创建一个平台,它允许你进行多语言编程,并且共享一套公共的API(应用编程接口)。让我们承认这一点,一些人喜欢用COBOL编程,一些人喜欢用Basic编程,一些人喜欢用C++,还有一些人将会喜欢用C#—我希望。但是,我们不会试图告诉你,忘记你曾经做过的所有的事情吧,我们不会说,“现在只有一种语言,在这个竞赛中将不会有进一步的创新了”。我们说业界因为弹性而友好。Java是怎么来的?它的出现是因为在它前已经存在一些编程语言,而在它后也还将会出现一些编程语言。我们想打造一个平台,在此你可以偏爱某种语言但不会否定整个价值取向;我们想打造一个平台,它可以是不断革新的。今天谁在帮助COBOL程序员?又是谁将他们带入WEB?只有在.NET平台上你才可以把富士通COBOL嵌到ASP页面中。我的意思是,它真正是革命性的!
Osborn:
假定.NET平台支持多语言,那为什么选择C#而不是Visual Basic、C++甚至COBOL?是什么使C#如此引人注目?
Hejlsberg:
首先,C#可以使我们从一张白纸开始。也就是说,我们没有任何向后兼容的负担。这显然会使事情简单些,无论从是从实现的立场还是从使用的立场都是这样。例如,在C#中,我们只有一种class,并且总是被垃圾收集。而另一方面,托管C++有两套,因为它要保留非垃圾收集风格的程序设计。因此,在C#中,只需要你理解一些简单的概念。
语言是一个有趣的东西,它是一种口味;语言又是一件严肃的事情,它是程序员选择的一种生活方式。我是指,我们意识到我们不能走出来说,“这儿有个平台,你只可以使用一种语言。”即使在那个平台上用一种语言可以干所有的事情,人们可能还是不喜欢它的语法,他们可能喜欢大括号或者一些别的程序块分界符。那是他们熟悉的。那是使他们感觉舒服并且富有生产力和能力的。我们对待C#的方式仅仅是为认为语言太复杂的C++程序员和认为丢失了一些C和C++语言特性的Java程序员提供一个替代品。我们寻求一个简化C++的方式并投入到一个多语言的平台中,它提供更大的互操作性,并且提供完备的组件概念等等。
Goodhew:
一件有趣的事情来自于我们对开发者跟踪调查,60%以上的职业开发人员使用两种或更多的语言去创建他们的应用。特别是当我们问他们都用哪些开发工具的时候,我们得到的答案是:没有哪一种面向对象的语言将会是终结者并且所有程序员都会使用它。正如Anders早先所说,人们期望某种能够满足他们所做的事或他们的感觉的语法。这是一种个人选择,这也是整个.NET平台所关心的—提供给开发者一个语言实现选择。我想我们做了件漂亮的工作。你基本上可以在Visual Basic.NET和C#中做同样的事情。Visual Basic对于大多数程序员来说仍然是易于接受的。C#则具有更多的活动空间并且比VB更富威力。
Osborn:
这意味着在C#中可用更少的声明实现更多?
Hejlsberg:
是的。意味着通过不安全代码,你可以得到更多的能力。
Osborn:
也就是说,不能在VB中写不安全代码?
Hejlsberg:
是的。不可以。
Goodhew:
但是,基本上,两种语言可以做同样的事。和Visual Studio 6相比,这是一个根本性的改变。在Visual studio 6.0中,如果你想创建多线程的MTS对象,并且你是一个VB程序员,你就没招。你不得不用C++。现在,有了.NET框架,你可以使用任何一种你喜欢的语言。
Hejlsberg:
这就是我在一般会议谈话里说过的,.NET框架提供一致的编程模型。在语言和框架的进化过程中,我们似乎一贯都是把一种程序语言绑死在特定的API和特定的编程方式上。VB是快速应用开发工具;MFC(微软基础类)是子类化的方式;ASP则是把东西塞到Web页面中。在每一种情况下,你对编程模型的选择总是决定了你对程序语言和可使用的API的选择。每次当你变换框架时,都增加了你学习新语言和API负担的工作量。我们真正试图统一这一切,我们提供一套API,一套支持可视化设计的工具,我们还提供一个可以任选一种适合你的语言的弹性。
Osborn:
我不知道这对那些使用象VBScript和Jscript脚本语言的有什么用?
Hejlsberg:
.NET框架下奇妙的事情之一是使脚本语言能够编译。看看ASP+(译注:今天称为ASP.NET),现在,实际上,在你的页面里运行的是真正编译过的代码。它不是迟绑定的、调度查找的—如果用户没有点击页面,你就不会看到运行时错误。ASP+开发者可以使用Visual Basi.NET完全的威力而不是VBScript。并且第一次,他们可以使用Perl、Python以及其它流行语言,如果他们这么选择的话。
Petrusha:
服务端的JavaScript现在也能被编译?
Hejlsberg:
是的,没错。
Goodhew:
.NET框架使得使用脚本语言就象用具有完全特性的语言一样,因为它们现在访问的是一个真正的编程框架,并且访问的是同一基类API。你应该看看搞JScript实现的伙计们都已经完成了什么。(编注:JScript是微软对ECMA 262语言规范(ECMAScript 版本 3)的实现,只有一些很小的例外(为了保持向后的兼容性),JScript是对ECMA标准的完整实现)。所以.NET平台提供了一个通用语言框架,对脚本写作者来说,具有极大的好处。
Osborn:
我们已经讨论关于Java、C++和脚本语言。在PDC上,我听到很多人争论.NET IL(IL是微软中间语言,所有编译器都必须产生它以运行在.NET框架上)和运行于Java虚拟机中的Java字节码没什么两样。从你的谈话中,显然你并不同意这一点。你介意进一步评论它们之间的区别吗?
Hejlsberg:
我当然不同意这种说法。首先,ILs的思想是一种非常老的思想了。你可以追溯这个概念到UCSD Pascal p-machine(一个早期的个人计算机Pascal实现)或者Smalltalk。P-code曾被Basic和Visual Basic使用,Word的一个组成部件,内部使用p-code引擎,因为它更精简。所以,p-code根本就不是什么新玩意。
我认为,我认为我们使用的IL的方式对此感兴趣:我们给你一个选择—如果你愿意—你可以控制将IL编译或翻译为本地代码的时机。实际上,使用managed C++,你可以直接从源程序生成本地代码。Managed C++还可以生成IL,就象C#和VB那样。当你安装你的代码时,我们给你一个编译选项,可以把IL编译成本地代码。因此,当你运行它们时,就不会有即时编译负担。我们还给你提供了一个动态运行和编译代码的选项:即时编译。有了IL,就给你带来了很多便利,比如它提供了这些能力:移植到不同的CPU架构,引入真正的类型安全,并在此之上构建安全系统。
我认为我们的IL设计和Java字节码关键区别在于,我们做出了超前的决定—不用解释器。我们的代码永远本地运行。因此,即使产生IL,你也从来都不会运行解释器。我们甚至还提供了不同风格的JITs。对于精简框架(compact framework),我们有EconnoJIT,就象我们称呼它的一样,它是一个非常简单的JIT(编注:.NET Compact是.NET framework的一个子集,是为移植到其它设备和平台而设计的)。对于桌面版,我们有完备功能的JIT。我们甚至有可和我们的C++编译器共用一个后端的JIT。不过,这都会比较耗时,因此你只应该在安装时使用它们。
一旦你做出偏向于执行本地代码而不是解释代码的决策,它就会强烈地影响IL的设计。它改变了应该包括那些指令,应该包括哪些类型信息,以及它应该如何表达。如果你仔细看看两种IL(译注:即.NET IL和Java字节码),你就会注意到它们很不一样。从某种意义上讲,我们的IL是类型中立的。指令里没有指定引数类型的信息。进一步来说,它是靠已经压栈的东西推断出来的。这种方式使IL更为精简。无论如何,一个JIT编译器需要知道那些信息,因此没有理由在指令里携带它们。所以,我们最终做出了不一样的设计决策,而这使得容易把IL翻译成本地代码。
Osborn:
解释方式和你描述的方式有何不同?
Hejlsberg:
解释器的核心是一个循环—从p-code流取得一些字节,然后进入一个大大的switch声明,“哦,这是ADD指令,因此它到这儿来,但这不是…”等等。
解释器模拟CPU。我们反其道而行之,我们只走一条道,我们一直都走一条道,我们把指令翻译为机器码。现在,在EconoJIT的情况下,机器码实际上非常简单,它只创建一个调用和压栈指令的列表,并且调用运行时辅助器,然后运行时辅助器引发这个列表。当然,这个代码比解释的代码执行得快。
Osborn:
让我用一句话来总结一下:你们完全编译代码。因此当你编译完时,bits已经完全准备好运行了,尽管从IL翻译成机器码的时机可能不一样。
Hejlsberg:
是的。但是,如果是在一个内存受限的小设备的环境里,运行完就可将代码丢弃掉。
Osborn:
让我们进入语言的语法细节。我在想,C#是否包括对正则表达式的内建支持。我没有在语言参考里看到它,或许它可能在别的什么地方吧。
Hejlsberg:
首先,在基类库里有一个正则表达式类。我们并没有在语言里加入对正则表达式的任何直接支持,但是,实际上我们有些非常类似的特性。并不值得对它们做重大的处理。但是,比方说,当你需要指定一个时候,我们给你这个能力:逐个字写一个字符串而无需每次写两个后斜杠。当你写正则表达式时,并且当你的正则表达式里的引号还套引号时,它实际上有很大的帮助。虽然就总体而言,这点帮助不足挂齿,但显然其核心在.NET框架之中,而这个框架可以被任何编程语言共享。
Osborn:
C#和Java名字空间看起来不同。它们是否概念相同而实现上不同?
Hejlsberg:
概念上是的,但是在实现上,差别很大。在Java里,包的名字也是物理意义上的东西,它指示了你的源代码文件的目录结构。在C#中,物理包和逻辑名称完全独立,无论你如何称呼你的名字空间,它都和你的实际代码的物理包不相关。这就给你更多的弹性—将物理上分布的单元包装在一起,并且不强迫你建很多的目录。在语言自身,有一些很明显的区别。在Java里,包也是你的物理结构,因此,Java源文件必须在正确的路径里,并且只能包含一个公用类型或者一个公用类。因为C#没有那种物理和逻辑上的绑定,所以你可以任意命名你的源文件。每一个源文件都可以被多个名字空间使用并且可以带有多个公用类。进一步而言,假如你喜欢的话,你可以把所有的源码写在一个大文件里,或者可以把它们分散到的小文件中去。概念上讲,C#编译时发生了什么—你给编译器提供了所有构成你的项目的源文件,然后它只管前进并指出该干什么。
Osborn:
我有一个关于泛型编程的问题:你认为它是个重要的概念吗?它应该成为面向对象语言的一部分吗?如果是的话,你们把泛型编程加为C#的一部分的计划如何?
Goodhew:
唔,在第一个版本里纳入泛型编程的愿望受到了限制。因为,并不象每一个人以为的那样,微软并没有无限的资源。对于在这第一个版本里该有些什么东西,我们不得不做出一些困难的决定。
Osborn:
有多少人参与开发C#?
Hejlsberg:
语言设计组由4个人构成,编译器组由另外五个开发人员构成。
Petrusha:
框架呢?
Hejlsberg:
那就多了,整个公司都被卷进来了。
Goodhew:
就整个Visual Studio和.NET平台团队而言,我们的部门大概有千人左右。包括程序管理人员、开发人员、测试人员,包括所有构建函数、框架、运行时、ASP编程模型的人员以及其它所有的人,比方说,我自己,管理层的。
Hejlsberg:
就你刚才所说的泛型方面,我明确地认为它是个非常有用的概念,并且你当然可以列举出发生在学术界和业界所有的泛型研究。模板是该问题的一种解决方案。在我们内部讨论中,我们决定要在新平台里做这件事情。但我们真正喜欢做的是让泛型能够被底层的运行时所理解。这和如何创建泛型原型是不同的。使用Java的“擦除”概念,系统里没有真正的泛型信息。如果通用语言运行时理解泛型的概念,多种语言就可以共享这个功能。你可以在一个地方用C#写一个泛型类,别的人用别的语言也可以使用它。
使泛型成为运行时的一部分,还可以使你能够更有效率地做某些事情。泛型实例化的最理想的时间是在运行时。如果用C++,模板的实例化发生在编译时,你有两种选择:听任你的代码膨胀或试图在链接时去除掉一些膨胀代码。但是,如果你有多个应用,你可能会忘记这一点,你将只能得到膨胀的代码。
如果把泛型的知识纳入通用语言运行时,那么,运行时就可以理解—当一个应用或组件请求一个“Foo”列表时,它首先会问:“我已经有了一个实体化的“Foo”列表了吗?”如果是,就用那一个。实际上,如果Foo是一个引用类型,并且我们设计得当的话,我们可以让所有引用类型共享一个实体。对于值类型,比如整型和浮点型,我们可以为每一个值类型创建一个实体,但这应该在应用请求时才做。为了把泛型加入运行时,我们已经做了大量的设计工作和必要的基础性工作。
你先前提到的关于IL的东西是有意思的,因为加入泛型的决定影响了IL的设计。如果IL指令嵌入类型信息,比方说,假如一个“加”指令不再是个“加”了,而是一个整数“加”或是浮点数“加”或是一个双精度数“加”,你就把类型信息硬加入到了指令流里,在这一点来说,IL不是泛型的。我们的IL格式实际上是真正的类型中立的。并且,为了保持类型中立,我们可以迟些时候加入泛型且不会给我们带来麻烦,至少不会太麻烦。这也是我们的IL和Java的字节码看起来不一样的原因之一。我们IL类型中立。“加”指令可以加栈顶的任何两个东西。在泛型世界,当它被实体化时,它可以被转换成不同的代码。
Osborn:
所有.NET语言都可获得泛型能力吗?
Hejlsberg:
是的。微软剑桥研究院已经创建了一个支持泛型能力的通用语言运行时和C#编译器的版本,我们正在研究如何尽快使其前进。第一个版本是不可能加入泛型了,我们知道的就这么多。但是我们正在工作,以确保我们在第一个版本里做了正确的事情,从而使泛型可以适用于整个蓝图。
Osborn:
C#和.NET框架以及Visual Studio的下一个版本计划发行日期是?
Goodhew:
唔,我们为来这儿参加PDC的6500名人员带来了技术预览版。我们希望2000年秋季的某个时间发布beta版,然后在准备好以后,我们发布正式版。我们所做的一件真正令人激动的事情是看看Windows2000发行版发布进行的如何,以让关键客户参与到合作开发和合作部署的进程中来。关于.NET框架和Visual Studio.NET,我们将再次和客户协作,以决定最终产品的发行日期。我们打算让他们告诉我们什么时候产品该就绪了。并且,因为有真正的客户参与到这个进程中来,我们应将获得更好的产品质量。这种做法的不利的一面是使产品开发和发布的进程有点不确定。但这是一种根本性的改变。我们正在寻找一种打破质量障碍的产品发行方式,而不仅仅是挑一个武断的日期说我们要发货了。
Osborn:
因此,不是一个代码完成的日期,我们正在寻找一个“准备好出发”的日期?
Goodhew:
是的,没错。我认为开发者将会发现Visual Studio.Net发行版是微软历史中最高质量的发行版本之一。
Osborn:
你们已经把C#提交给ECMA(译注:欧洲计算机制造商协会)。标准化真的是一个严肃的目标吗?你希望在其它平台上也可使用C#吗?
Hejlsberg:
的确如此!把C#作为一个可能的标准提供给业界当然是我们的目标,这也是我们把它提交给ECMA的原因之一。在引导这个有着通用语言基础设施的公共设计的语言的进程中,(??)我们当然希望得到ECMA的支持。关于通用基础设施,我的意思是指这个规范所规定的一套核心类库集,如果其它公司使用其它平台实现它,他们有理由期望发现可以在他们的程序里利用这些类。
Goodhew:
我想指出的是我们正在和ECMA做真正的开放标准。当ECMA为C#和通用语言基础设施达成标准后,在ECMA的版权和许可政策下,真正的开放将可实现。任何客户、任何人都可以许可ECMA C#标准,子集之,超集之,并且无需付版税。他们可以在任何平台上或任何设备上实现之。我们完全希望人们那么做。这和我们的竞争者根本不同,他们徘徊在标准之外,寻找某某人去为他们私有的语言贴上印花。
John:
我在早餐和午餐时听说:“假如微软没有把COM搞到基础设施中去,平台会具有多么真正可能的可移植性?”
Hejlsberg:
完全可能。COM并非C#和通用语言基础设施标准化之必须。根本不是。C#有一个完备丰富的类模型,而COM则是从另外一个视角看待应用的互操作性。但是,C#和通用运行时的核心中从未说过必须要有COM、GUID、HRESULT、AddRef或Release等等。一个都没有。.NET通用语言运行时彻底摒弃了COM,但它还是给了你巨大的COM互操作能力。鉴于先前所述,我仍然认为它将非常重要,但绝非不可或缺。
Goodhew:
我认为这些评论起因于我们公开的最初版本的语言规范。微软在某次会议上把它写进了规范。在那次会议上,我们认为按照微软平台来说这是非常重要的。结果,我们在规范里多次引用COM和DLL这样东西。DLL是如何在已给定平台上,激活本地代码的更多的一般性问题中的一个特例。对于纳入标准化组织以及和象IBM的人(我们和他们一起制订SOAP规范)协作的一个好处是,可以确保我们不做任何这样的提及,以防止在规范的未来版本里,把我们自己绑死或锁定在象COM框架这样的东西上。
就象Anders说的那样,COM互操作能力和COM支持对我们和现有的微软客户来说是极其重要的。我认为为了在.NET上支持COM我们做了伟大的工作。但是,业界的人们已经阅读了大量的我们对COM和DLL字眼引用的东西,他们由此推论.NET平台仅仅是为Windows平台而设计的,这绝对是错误的。
Hejlsberg:
并且,我认为就象COM互操作能力对于微软和在微软平台上构建解决方案的客户很重要一样,C#和通用语言基础设施的标准化,将允许在任何其它平台上实现这门语言,以加入意义重大的平台互操作能力。
Osborn:
所以你们将不会坚持应该有个什么“纯C#”和“纯.NET”的实现?
Hejlsberg:
什么叫“纯”?真正有多少“纯”Java应用存在?我冒险猜测一下,非常非常少。那就是我估计的数量。让我们承认这一点,人们希望能够利用他们已有的代码。不可能叫那些公司把什么东西都扔掉。
Goodhew:
你和Roger Sessions交流过吗?(编注:Roger Sessions是ObjectWatch公司的总裁,并且是《COM+ and the Battle for the Middle Tier》的作者) 。
Osborn:
没有。
Goodhew:
Roger谈到了EJB(Enterprise JavaBeans)规范的相关章节,那儿讲了厂商许可扩展。毫不奇怪,厂商扩展包括诸如事务管理、安全、消息技术以及其它更多的方面,这在构建企业级系统中是相当重要的。在一篇文章[译注:http://www.objectwatch.com/issue_24.htm]里,Sessions粗略地列举了11个领域的机能,这是可容许的厂商规范实现。因此,如果你选择IBM Websphere作为你的EJB实现,你为你的EJB应用写的代码将不可避免地把你锁在Websphere上。Java是100%纯和100%可移植的概念是不真实的。在IBM的开发者工作站点上,有一个对James Gosling的伟大的专访(译注:http://www-106.ibm.com/developerworks/features/gosling/index.html)。James Gosling直接指出了这一点。他说,是的,整个“写一次到处运行”、“100%纯的东西”真是个愚蠢的想法,更多的是属于营销上东西。他说,实际上,“我们并不认为我们能够交付所有这一切,基本上,我们办不到”。这就是这种语言的发明者所说的,并不存在什么纯粹性和可移植性。
Osborn:
我们有没有遗漏一些没透露的C#的伟大的特性或创新,你愿意补充一下吗?
Hejlsberg:
关于整个.NET框架,隐含地,也包括C#,我想提的一点是:它是构建分布式应用的手段。并非很久以前,我们创建两阶层的客户机/服务器应用,然后对象协议如CORBA、IIOP、RMI和DCOM接踵而至。这种类型的编程是EJB(以CORBA或RMI为基础而实现)的基础。我们已经会构建这种强连接式的分布式系统,但它们不具备伸缩性。它们在WEB上不能够伸缩因为它们是有状态的,它们在服务端保持状态,你不能够转入另一台机器,把它插入并让相关东西复制自己。
当初,当我们坐下来着手设计.NET框架时,我们回头看了看Web上究竟发生些了什么。它正在变成松散连接、非常分布式的世界。我们努力理解它对潜在的编程模型的影响。因此,我们从根本上假定分布式应用是以松散连接、无状态风格构建的,我们做出的设计可提供巨大的伸缩性,你只管扩展。你转入更多的框架并把它们插入。一旦做出了这个根本性的假设,一切就随之改变。它改变了怎样设计你的基本服务,怎样设计你的消息技术,甚至怎样设计你的用户界面。这是一个新的编程模型。我们已经决定使用XML和SOAP作为使这个模型工作的方式。它们被深深地集成进.Net,并且这种集成对于我们在设计.NET框架时做出的每一个决策是如此核心,以至于它不是那种你只进来蜻蜓点水地逛一逛就可以的东西。
Osborn:
你能指出一些对程序员来说明显特别的地方吗?
Hejlsberg:
一个相当好的例子是XML是如何被集成到C#中的。C#中有特性(attribute)的概念,它允许你向类型和成员加入宣告性的信息。就象你可以说某个成员是公用的或私用的一样,你可能还想说这个是事务的,或者这个假定是个Web service,或者这个假定可以序列化为XML。因此,我们加入特性以提供一般性机制,但我们在所有Web service和XML基础设施中都用到了它。我们还给你用特性修饰类和字段的能力。在你的类中,你可以说“当这个类变成XML时,它应该变成“this”标签名,并且属于“this”XML名字空间。”你将能够指定一个字段变成一个元素,而另外一个变成一个属性(译注:attribute,此处指XML中的属性)。你还能够控制XML的模式(译注:即schema);在你的声明类的地方控制它,这样,所有附加的宣告性的信息就都有了。一旦以该方式正确地使用特性修饰你的C#代码,系统就可以简单地把一个特定的类转化成XML,在线上传输,当它传回时,就可以在另一端重建该对象。这都是在一处定义完成的。它不象传统的定义文件或杂七杂八的信息和命名模式,它就在那儿。当你在IDE中创建它们时,它就给了你完整的声明。我们还可以提供更高级的工具,让它帮你做这个事。
我知道我有点离题了,但我们提供的这些基础设施的确令人兴奋。单单因为我们有这些特性,你就可以请求XML序列化基础设施或Web service基础设施把已给出的类转换成XML。当你这样做时,我们实际上将为这个类配上XSD schema,并且,我们将创建一个专门化的解析器,它是从我们一般的XML解析器(它是.NET基类的一部分)派生下来的,并且覆写方法,并向解析器加入逻辑,因此它是专门为那个模式服务的。我们已经实体化好一个解析器,可以本地代码的速度解析XML。如果它不正确,我们将给你一个体面的出错信息,它可以精确地告诉你是什么出了问题。我们可以在代码缓存基础设施中缓存它,它将坐等直到下一次一个具有同样模式的类来临并将发生作用,“嘭!”,我的意思是,难以置信,难以置信的处理能力!
Osborn:
所以,下面的确有许多有意思的引擎...
Hejlsberg:
Yeah。我认为,对于在这个领域里达成此种思想,我们是领先的一代。
Osborn:
精彩之至。谢谢,耽误你时间了。
Hejlsberg:
不客气。
濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻锝夊箣閿濆棭妫勯梺鍝勵儎缁舵岸寮诲☉妯锋婵鐗婇弫楣冩⒑閸涘﹦鎳冪紒缁橈耿瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顖涒拺闁告繂瀚烽崕搴g磼閼搁潧鍝虹€殿喛顕ч埥澶娢熼柨瀣垫綌婵犳鍠楅〃鍛存偋婵犲洤鏋佸Δ锝呭暞閳锋垿鏌涘☉姗堝姛闁瑰啿鍟扮槐鎺旂磼濮楀牐鈧法鈧鍠栭…鐑藉极閹邦厼绶炲┑鐘插閸氬懏绻濋悽闈浶㈤柣蹇斿哺瀹曟繈寮介銈囶槸濠德板€曢幊蹇涘煕閹达附鈷戞い鎰╁€曟禒婊堟煠濞茶鐏¢柡鍛埣椤㈡岸鍩€椤掑嫬钃熸繛鎴炵懅缁♀偓闂佺ǹ鏈粙鏍兜閳ь剛绱撻崒娆戣窗闁哥姵鐗犻、鏍ㄥ緞閹邦喖绁﹂梺鍦劋椤ㄥ懎螞濮椻偓閺屾稑鈹戦崱妤婁还婵犮垼顫夊ú鐔奉潖濞差亜绠伴幖杈剧悼閻g數绱撴担闈涘闁稿鍔欓幊鐐存綇閵娧屾祫闁诲函缍嗛崑鍡涘储闁秵鈷戦柛婵嗗閺嗙偤鏌熼幖浣虹暫闁诡喚鍋撳ḿ蹇涘Ω閿濆嫮鐩庢俊鐐€曠换鎰偓姘煎墴瀵娊鏁愰崨顏呮杸闂佺偨鍎辩壕顓㈠春閿濆洠鍋撶憴鍕鐎规洦鍓濋悘鍐⒑闁偛鑻晶顔肩暆閿濆懏鍋ユ鐐差儔閺佸倻鎲撮敐鍡楊伖缂傚倸鍊风粈渚€顢栭崱娑辨晞婵炲棙鎸哥壕鍧楁煙閹殿喖顣奸柣鎾寸懇閺岋綁鎮㈤崫鍕垫毉闂佸摜濮靛玻鍧楀焵椤掍緡鍟忛柛鐘崇洴椤㈡俺顦归柛鈹垮劜瀵板嫰骞囬澶嬬秱闂備胶鍋ㄩ崕閬嶅储閺嶎偉濮冲┑鐘崇閳锋帡鏌涚仦鍓ф噮妞わ讣绠撻弻锝堢疀閺冨倻鐤勫銈冨灪閻楃姴鐣烽妸鈺婃晩缂備降鍨虹粊顐︽⒒娴e憡璐¢柧蹇撻叄瀹曟澘螖閸涱厾鍘遍梺鐟邦嚟婵澹曢崗绗轰簻闁哄秲鍔庨埊鏇犵磼閳ь剟宕橀鐣屽幐婵犮垼娉涢敃锔剧矓濞差亝鐓涢悘鐐插⒔閵嗘帡鏌嶈閸撱劎绱為崱娑樼;闁告侗鍨悞濠冦亜閹捐泛鏋傚ù婊勭矋閵囧嫯绠涢幘鎰佷患闂佸搫妫寸徊浠嬪煘閹达箑鐏崇€规洖娲ら悡鐔兼倵鐟欏嫭绀€鐎规洦鍓濋悘鍐⒑闁偛鑻晶顔肩暆閿濆懏鍋ユ鐐差儔閺佸倻鎲撮敐鍡楊伖缂傚倸鍊风粈渚€顢栭崱娑辨晞婵炲棙鎸哥壕鍧楁煙閹殿喖顣奸柣鎾寸懅缁辨帞鈧綆浜炴禒銏ゆ煃闁垮鈷愬ǎ鍥э躬瀹曪絾寰勬繝鍌ゆ綒婵°倗濮烽崑鐐烘晝閵忋倗宓侀柛銉e妽婵挳鏌涘☉姗堝伐闁逞屽墻閸ㄨ泛顫忕紒妯诲闁告稑锕ら弳鍫㈢磽娓氬洤鏋涢柣顓炲€搁悾鐑筋敍閻愯尙顔呴梺鑺ッˇ瀹狀杺濠碉紕鍋戦崐鏍礉韫囨稑绠犻柨鐔哄Т缁秹鏌涢銈呮瀻濞存粌缍婂濠氬磼濮樺崬顤€缂備礁顑嗛崝妤呭礆閹烘閱囬柡鍥╁暱閹锋椽姊洪崨濠勭細闁稿骸宕埢宥堢疀濞戞瑧鍘遍柣搴秵娴滆泛螣閳ь剟姊虹拠鈥虫灍闁挎洏鍨介悰顕€骞掗幊铏⒐閹峰懘宕崟顐ゎ啈闂傚倸鍊烽懗鍓佸垝椤栫偞鏅柣搴㈩問閸犳牗鏅舵惔锝呭灊婵ǹ娉涢柨銈嗕繆閵堝嫮顦﹂柍褜鍓欓悥濂告偂椤愶箑鐐婇柕濠忚吂閹峰姊洪悷鏉挎毐闁硅櫕鍔楀Σ鎰板箳濡ゅ﹥鏅梺绯曞墲閻熝嗏叺闂傚倷娴囬鏍窗濡ゅ懏鍋¢柍鍝勬噹缁犳牗绻濇繝鍌氭偐闁绘柨鍚嬮悡銉╂倵閿濆簼鎲惧ù鍏肩墵濮婄粯鎷呴挊澶婃優闂佸摜濮甸崝妤呭礆閹烘挻鍎熼柕蹇婂墲閻濆嘲鈹戞幊閸婃洟宕鐐叉辈婵犲﹤鐗婇悡娆撴煟閹寸倖鎴犱焊閸偁浜滈柍鍝勫€哥徊濠氭婢舵劖鐓熼柟鎹愭珪閹癸綁鏌熼悾灞解枅闁哄矉缍侀獮妯尖偓娑欋缚椤︿即姊洪崫鍕伇闁哥姵鐗犻悰顕€宕卞鍏碱€囬梻浣规偠閸婃宕伴幇顔藉床婵炴垯鍨归惌妤€顭跨捄渚剰闁哥偛顦靛娲传閸曨厾浼囬梺鍝ュУ閻楃娀濡存担绯曟瀻闁圭偓娼欓惂鍕節閵忥絾纭鹃柨鏇樺€涢。浠嬫⒒閸屾瑨鍏岀紒顕呭灦楠炴劙宕奸弴鐐碉紮闂佸搫绋侀崢鍏碱攰闂備礁鎲″ú锕傚窗濮樿埖鍋柍褜鍓熷娲捶椤撶偘澹曞┑鐐插悑閻熴儵鍩㈠鍛斀閻庯綆鍋€閹锋椽鎮峰⿰鍛暭閻㈩垱顨婂顐f綇閵娿倗绠氶梺缁樺姌閸╂牠藟婢跺浜滄い鎰╁灮缁犺尙绱掔紒妯肩畵妞ゎ偅绻堥、妤呭磼閿旀儳绨ユ繝鐢靛У椤旀牠宕板Δ鍛櫔闁诲氦顫夊ú锕傚礈閻旇崵鐔呴梻渚€鈧偛鑻晶瀛樻叏婵犲嫮甯涢柟宄版嚇瀹曘劍绻濋崒娑欑暭濠碉紕鍋戦崐鎴﹀礉鐏炶娇娑樜旈崘銊ョ柧闂傚倷鑳剁划顖毼涢崘顔㈠骞樼拠鍙夎緢闂佹寧娲嶉崑鎾绘煃鐟欏嫬鐏寸€规洘甯掗埞鍐箻閼搁潧娈岄梺杞扮贰閸o絽顫忕紒妯肩懝闁逞屽墮宀h儻顦归柡浣哥Х缁犳稑鈽夊Ο纰辨Ч婵$偑鍊栭幐楣冨磻濞戙垹鐭楀┑鐘插€甸弨浠嬫煟濡櫣浠涢柡鍡忔櫅閳规垿顢欓幆褍骞嬮悗娈垮櫘閸嬪﹤鐣烽妸锔剧瘈闁告劑鍔屾导搴ㄦ⒒娴e憡璐¢柧蹇撻叄瀹曟澘螖閸涱厾鏌у┑鐘绘涧椤戝棝鎮¤箛娑欑厱妞ゆ劧绲跨粻鏍磼閳ь剙鐣濋崟顒傚幈闁诲函缍嗛崑鍛焊椤撶喆浜滄い鎰剁悼缁犵偤鏌熼鐟板⒉闁诡垱妫冮弫宥夊礋椤撶喓绉梻鍌欐祰椤曆冾潩閿曞偊缍栧璺衡姇濞差亜鐓涢柛鎰典簽椤︻垶姊洪柅鐐茶嫰婢ф壆绱掓潏銊ユ诞闁诡喒鏅涢悾鐑藉炊閵娿儱鐏¢梺璇插椤旀牠宕抽鈧畷鎶芥晲閸涱垱娈鹃梺鍦劋閸ㄧ喖宕奸鍫熺厱婵炴垵宕▍妯荤箾閸忓吋灏柍瑙勫灴閹晠宕归锝嗙槑濠电姵顔栭崰姘跺礂濡警鍤曟い鎰剁畱瀹告繂鈹戦悩鎻掓殭鐎殿喖娼″娲捶椤撯剝顎楅梺鍝ュУ閻楁粍绔熼弴銏犳嵍妞ゆ挾濮烽敍婵囩箾鏉堝墽绉柛瀣€块獮瀣攽閸愨晝鈧椽姊虹紒妯忣亞澹曢鐘典笉濡わ絽鍟悡娆撴倵濞戞瑡缂氶柟鍐插暣閺岋綀绠涢敐鍕仐闂佸搫鐭夌紞渚€鐛Ο灏栧亾濞戞瑡缂氭い锔垮嵆濮婅櫣鎷犻垾铏亶濡炪們鍔岄敃顏勵嚕椤愶箑绠涢柡澶庢硶椤︺劑姊洪棃娴ㄥ綊宕曞ú顏呭€甸柛鎰ゴ閺€浠嬫煟濡椿鍟忛柡鍡╁灦閺屽秷顧侀柛鎾寸箘娴滅ǹ鈻庨幘鏉戝壒濠电偛妫欓幐濠氭偂濞戙垺鍊堕柣鎰版涧娴滃墽绱掗埀顒傗偓锝庡厴閸嬫挾鎲撮崟顒傤槰闂佺ǹ楠搁妶姝屾闂佸憡鐟ラˇ顓熺濠婂牏鍙撻柛銉╊棑閸掔増顨ラ悙杈捐€块柡灞界Х椤т線鏌涢幘鏉戝摵妞ゃ垺鐟╁浠嬵敇閻愮數宕堕梻浣告惈濞层劍鎱ㄩ幘顔煎瀭婵犻潧娲ㄧ粻楣冩煕閳╁厾顏呮叏閸愵亞纾奸悹鍥у级椤ョ偤鏌熸笟鍨闁宠鍨垮畷鍗炩枎閹存繂歇濠电姷顣介崜婵娿亹閸愵亞绀婂┑鐘插亞濞兼牗绻涘顔荤凹闁绘帒顭烽弻锝夊箛椤栨俺鏁块柣搴㈢濠㈡﹢鈥﹂懗顖f闂佹悶鍔岄悥濂哥嵁閸愨晝顩烽悗锝呯仛閺咁剟姊洪棃娑氬婵炲眰鍔戦幆渚€宕奸妷锕€鈧灚绻涢崼婵堜虎闁哄绋掗妵鍕敇閻樻彃骞嬪Δ鐘靛仜閸熷瓨鎱ㄩ埀顒勬煏閸繃鍣芥い蟻鍥ㄢ拺缂備焦蓱鐏忣厽绻涢弶鎴濇Щ妞ゎ剙锕、娆戜焊閺嶃劍鏉搁梻浣虹帛閿曗晠宕伴弽顓熷€堕弶鍫涘妿缁犳儳顭跨捄渚剳婵炲弶鎸抽弻鈩冩媴缁嬫寧娈绘繝纰夌磿閸忔ɑ淇婇悜钘夘潊闁挎稑瀚花瀛樼節閻㈤潧啸闁轰礁鎲¢幈銊╂偨闂堟稒鐎抽悗骞垮劚椤︻垶鎮¢弴銏$厵閺夊牓绠栧顕€鏌i幘瀛樼缂佺粯绻堝Λ鍐ㄢ槈濞嗘ɑ顥f俊鐐€曞ù姘跺磻婵犲洤钃熼柨婵嗙墢閻も偓濠电偞鍨堕〃鍡涘窗濮樿埖鈷戦柛婵嗗濠€浼存煟閳哄﹤鐏︽鐐插暣閸┾剝鎷呴悜妯活啎闂備焦鎮堕崕婊堝焵椤掑嫬绠柣妤€鐗呯换鍡涙煏閸繃鎼愰崯鎼佹⒑缁嬫鍎愰柣鈺婂灠閻g兘顢涢悜鍡樻櫇闂佹寧鏌ㄩ幖顐g閸忚偐绠鹃柡澶嬪灥閹垶绻涢崗鑲╂噰闁哄苯顑夊畷鍫曞Ω瑜忛惁鍫ユ⒒閸屾氨澧涚紒瀣尰閺呭爼寮撮悤浣诡啍闂佺粯鍔栧ḿ娆愭叏瀹ュ棙鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔戝Λ鍐ㄢ槈濮樻瘷銊╂倵濞堝灝鏋ら柡浣割煼閵嗕礁螖閸涱厾锛滃┑鐘诧工閹虫劙宕㈤鐐粹拻濞达絿鐡斿ḿ鎰版煕鎼达紕锛嶇紒顔款嚙椤撳ジ宕卞▎妯婚敜闁荤喐绮庢晶妤冩暜濡ゅ懎纾归柣銏犳啞閻撱儲绻濋棃娑欘棦妞ゅ孩顨婇弻锛勨偓锝庡墮閺嬫盯鏌″畝瀣М妤犵偞岣块幑鍕倻濡棿閭┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柡鍥b偓宕囧€掑┑锛勫亼閸婃牕顔忔繝姘;闁瑰墽绮悡鍐喐濠婂牆绀傛繛鍡樻尭绾惧綊鏌¢崶鈺佷户妤犵偞鎹囬弻娑滎槼妞ゃ劌鎳愮划璇测槈濞嗗秳绨婚梺瑙勫礃濞夋稑鏆╂俊鐐€栧鐟懊洪悢濂夋綎婵炲樊浜滃婵嗏攽閻樻彃顏柛锛卞喚娓婚柕鍫濆暙閸旀﹢鏌涢妸銈囩煓闁靛棔绶氬顕€宕煎┑瀣暪闂備胶绮Λ浣搞€掕ぐ鎺戠畺闁挎繂妫涚弧鈧梺姹囧灲濞佳囧煝閸喓绠惧ù锝呭暱濞诧箓宕戠€n喚鍙撻柛銉e妿閳洟鏌涙惔銏╂畷缂佺粯鐩畷鍗炍熺拠鏌ョ€洪梻浣呵归鎴犵礊娓氣偓瀵鎮㈢喊杈ㄦ櫍闂佺粯妫冮ˉ鎾绘偡閵婏妇绡€鐎电増鐏氶崐鏇☆暱缂傚倷鑳剁划顖炴儎椤栨氨鏆﹀┑鍌溓瑰敮閻熸粌绻樺鎶筋敃閳垛晜鏂€濡炪倖姊婚妴瀣绩缂佹ü绻嗛柣鎰煐椤ュ鏌i敐鍛Щ妤楊亙鍗冲畷鐓庘攽閸偄鏂€闂傚倷鑳堕幊鎾诲箹椤愩倗鐭撻柛顐f礀缁€鍕偡濞嗗繐顏紒鈾€鍋撻梻浣圭湽閸ㄨ棄岣胯缁傛帒饪伴崨顏勪壕婵炲牆鐏濋弸娑㈡煟閺嵮佸仮妤犵偛鍟抽ˇ褰掓煙椤旇娅囬柟椋庡█閹崇娀顢楅崒娑欑槖闂傚倸鍊烽懗鍫曞磻閵娾晛纾块柡灞诲劚閸戠娀鏌i幘鍐差唫闁挎繂顦柋鍥煏婢舵稑顩柛姗嗕邯濡懘顢曢姀鈥冲亶闂佺ǹ楠哥壕顓熺珶閺囥垹閿ゆ俊銈勮兌閸樺崬鈹戦濮愪粶闁稿鎸搁湁婵犲﹤鍟伴崺锝団偓娈垮枛椤兘寮幇鏉块唶闁靛繈鍨哄鎴︽⒒娴e憡鎯堟繛灞傚姂瀹曟垵螣閻撳骸鐏婇梺鐓庢憸閺佸摜寮ч埀顒勬⒑閸愯尙娈遍柛瀣崌閺屾稓浠﹂崜褏鐓傞梺缁樻尰閹瑰洤顫忛搹瑙勫珰闁炽儱纾禒鈺呮⒑濞茶澧柕鍫熸倐瀹曟椽鍩€椤掍降浜滈柟鐑樺煀閸旂喓绱掓径灞炬毈闁哄本绋撻埀顒婄秵娴滄繈藟閻樼數纾兼い鏂垮⒔鐢盯鏌曢崼顒傜М鐎规洘锕㈤崺锟犲礃閵娿儳鐤勬繝纰夌磿閸嬫垿宕愰弽顓炵闁硅揪绠戠壕褰掓煛閸ャ儱鐏╅柛鎴犲█閺岀喐娼忔ィ鍐╊€嶉梺缁樻尰濞叉牠鍩為幋锔藉亹闁圭粯甯楀▓顓熺節濞堝灝鏋涢柣妤佹崌瀵鎮㈤崫銉ф嚌闂佸壊鐓堥崰鏍€栨径宀€纾藉ù锝堟鐢稓绱掔拠鑼闁伙絿鍏橀幃銏㈠枈鏉堛劍娅嶉梻浣虹帛閸旀牠顢欓弽顓炵;鐟滄柨顫忔繝姘<婵炲棙甯掗崢锟犳⒑绾懏鐝柟鐟版搐閻g兘寮婚妷銉ㄦ憰闂侀潧顦崕鎶芥偪閸ヮ剚鈷戠憸鐗堝笒娴滀即鏌涢悩宕囧⒌鐎规洜鎳撻埞鎴犫偓锝庡亞閸樹粙姊洪棃娑氱疄闁糕晛瀚板鎶筋敍閻愬鍘遍柣搴秵閸嬪懎鐣峰畝鍕厸濞达絿鎳撴慨鍫ユ煙椤栨稒鐓ラ柍瑙勫灴瀹曠厧鈹戦崱妯兼闂傚倸鍊搁崐宄邦渻閹烘梹顫曟い鏃€鍎崇欢銈呪攽閸屾簱鍦兜閳ь剟姊洪崨濠傚婵☆垰锕ゅ玻鍧楀冀椤愩倗锛濇繛杈剧秬閸嬪倿骞嬮悙鎻掔亖闂佸湱铏庨崰妤呭磻閳╁啰绠鹃柛鈩冾殘缁犵増銇勮箛濠冩珔闂囧鏌e鍡椾簼婵炲懎锕ラ幈銊︾節閸愨斂浠㈤悗瑙勬磸閸斿秶鎹㈠┑瀣妞ゅ繐瀚Ч鎻掆攽閿涘嫬浜奸柛濠冪墵瀹曞綊鎮介弶鍡楁喘椤㈡盯鎮欓弶鎴滄偅闂備胶绮崹鍏兼叏閵堝鐤鹃柟闂寸劍閻撶喐淇婇姘变虎闁汇劎鍎ら妵鍕晜閸濆嫬顫囧┑顔硷攻濡炰粙骞婇弽顓炵厴闁绘劦鍓欓悵閬嶆⒒娴e憡鍟為柟绋款煼閹虫繃銈i崘銊у幒闂佸湱鍋撻悾顏堝磻閸涘瓨鐓曢柟鑸妽閺夊綊鏌熼柨瀣仢婵﹤顭峰畷鎺戭潩閸楃儐鏉哥紓鍌欑椤戝棝骞愰崜褍鍨濆┑鐘崇閸婄兘鏌i幋鐐ㄧ細闁告ǹ椴哥换婵嬫偨闂堟刀銏ゆ煕閻曚礁鐏g紒顔肩墢閳ь剨缍嗛崗姗€宕戦幘鑸靛枂闁告洦鍓涢ˇ銊╂⒑閹稿孩纾搁柛銊ㄦ閻e嘲煤椤忓嫮鍔﹀銈嗗笂闂勫秵绂嶅⿰鍫熺厵闁告繂瀚ˉ婊兠瑰⿰鍕姢妞ゎ亜鍟存俊鑸垫償濠靛牏娉块梻浣告憸閸犲酣鎮洪妸锔锯攳濠电姴娲ら柋鍥煛閸モ晛浠滈柤鏉跨仢閳规垶骞婇柛濠冨姍瀹曟垿骞樺ǎ顑跨盎濡炪倖鍔戦崹娲窗濡粯鍙忓┑鐘叉噺椤忕姷绱掗鐣屾噰鐎规洜枪铻栧┑鐐村劤娴滅偓淇婇妶鍛殜闁稿鎸鹃幉鎾礋椤掆偓椤︹晠姊洪崨濠冨暗闁哥姵鐗犻悰顕€宕卞☉妯碱槰濡炪倖娲栭幊蹇涘疾閵忋倖鈷戦柛娑橈攻婢跺嫰鏌涜箛鏃撹€挎鐐茬箲缁绘繂顫濋娑欏缂傚倷绀侀鍡欌偓绗涘喛鑰垮ù鐓庣摠閻撶喖鏌i弮鈧换鍌毭洪妶鍥╃焼濠㈣泛澶囬崑鎾荤嵁閸喖濮庡銈忕細閸楀啿鐣烽幇鐗堝仺闁汇垻鏁搁敍婊冣攽鎺抽崐鎾绘嚄閸洖鐓″鑸靛姈閻撴瑩鏌ц箛锝呬簻濠殿喖绉归弻鐔碱敍濮樺啿顏梺瀹狀嚙闁帮綁鐛Ο灏栧亾閻㈢櫥褰掔嵁瀹ュ鈷戦悹鍥у级閹癸綁鏌℃担鍛婂暈闁诲繑鐟╅幃璺侯潩閵夈儱濮﹀┑顔硷龚濞咃絿鍒掑▎蹇婃瀻闁诡垎鍐棊闂傚倷鑳堕幊鎾诲箟閿熺姴绠栭柛宀€鍋為弲鏌ユ煟閹邦厾銈撮柡鈧禒瀣€甸柨婵嗛娴滄粌霉濠婂嫷娈滈柡宀€鍠栭幊婵嬫偋閸繃閿紓鍌欐祰妞寸ǹ煤閻旂厧绠氶柛顐犲劚缁€瀣亜閺嶃劎銆掗柛妯圭矙閺岀喖宕楅懖鈺傛闂佺ǹ枪閸婃洖鐜婚崸妤€绠涙い鎾跺Х椤旀洟姊洪崨濠勬噧妞わ富鍨堕幃妯尖偓鐢电《閸嬫挾鎲撮崟顒傗敍缂備胶绮换鍌炴偩瀹勯偊娼ㄩ柍褜鍓熼獮濠囨偐濞茬粯鏅㈡繛杈剧秬椤曟牠宕惔銊︹拻闁稿本鐟чˇ锕傛煙鐠囇呯瘈闁靛棗鍟村畷濂稿Ψ閵壯嶇串闂備焦瀵х换鍌炈囨导鏉戠;闁告洦鍨遍悡鏇㈢叓閸ャ劍灏垫慨锝囧仱閺岀喎鐣¢幍顔拘ㄥ┑顔硷躬缂傛岸濡甸幇鏉跨闁瑰瓨绮岄弸鍫ユ⒒娴e憡鎲稿┑顔炬暬閹虫繃銈i崘銊у幒闂佸搫鍟悧鍡涙煥閵堝棔绻嗛柕鍫濆椤斿鏌熷畡閭︾吋婵﹨娅g划娆撳箰鎼淬垺瀚抽梻浣藉吹閸熸瑩宕ㄩ婊冪闂備礁鎼崯鐘诲磻閹惧墎纾肩紓浣贯缚閳洟鏌熷畡鐗堝殗鐎规洘锕㈠畷锝嗗緞婵犲孩袩闂傚倷鑳舵灙妞ゆ垵鎳橀、鏍ㄥ緞閹邦剝鎽曞┑鐐村灟閸ㄥ綊鎮炲ú顏呯厱闁规澘鍚€缁ㄥ瓨淇婇幓鎺斿ⅱ缂佽鲸鎸婚幏鍛村传閸曟垯鍎遍埞鎴︽倷閳轰椒澹曞┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柡鍥b偓宕囧€掑┑锛勫亼閸婃牕顔忔繝姘;闁瑰墽绮悡鐔肩叓閸ラ瀵奸梺顓у灦閺岋紕浠﹂崜褉妲堥梺瀹狀嚙濮橈妇绮诲☉銏犲嵆闁绘瑢鍋撻柛鐐茬秺濮婄粯绗熼埀顒€岣胯鐓ら柕鍫濇礌閸嬫挸顫濋銏犵ギ闂佺粯渚楅崳锝夌嵁閹烘嚦鏃堝焵椤掑嫮宓侀柕蹇娾偓鑼畾闂佺粯鍔栧ḿ娆撳礉閵堝棎浜滈柕澶涚畱閸濈儤鎱ㄦ繝鍌ょ吋鐎规洘甯掗埢搴ㄥ箣椤撶啘婊堟⒒娴e湱婀介柛濠冩礀鐓ゆい鎾卞灪閺呮煡鏌i幇顓熺稇缂佸墎鍋ら弻鐔兼焽閿曗偓婢ь噣鏌f惔顔煎籍婵﹨娅g划鏃堝幢濡も偓椤忓瓨绻涢崼鐔割棃闁哄矉绻濆畷鐔煎煛娴gǹ袝闂備礁鎼張顒€煤濡警鍤楅柛鏇ㄥ灠楠炪垺淇婇婵嗗惞鐟滄澘鎳忔穱濠囧Χ閸ヮ灝銉╂煕鐎n偄鐏寸€规洖缍婇幃婊兾熺亸鏍ㄦ暤濠电姷鏁告慨鏉懨洪敃鍌氱9闁绘垼濮ら悡娆戠磽娴e顏堝锤婵犲洦鐓欑紒瀣仢閺嗭絾鎱ㄦ繝鍐┿仢鐎规洏鍔嶇换婵嬪磼濠娾偓缁辨ɑ淇婇悙顏勨偓銈夊磻閸曨垁鍥焼瀹ュ懐顔夐梺闈涚箳婵參寮ㄦ禒瀣€甸柨婵嗛娴滄粌霉閻樿櫕銇濇慨濠傤煼瀹曟帒顫濋崡鐑嗘澑闂備礁鎲″濠氬磻閹剧粯鈷戠紓浣姑慨澶愭煕鎼存稑鈧繈骞冮敓鐘插嵆闁靛骏绱曢崢顏呯節閻㈤潧孝缂佺粯锚椤﹪顢氶埀顒勫蓟閺囥垹鐐婇柕濞у懐鏉介梻浣告惈婢跺洭宕滃┑瀣闁告稒娼欑粈鍫ユ煙缂佹ê绗掑鐟伴叄濮婄粯鎷呴崨濠冨創闂佹椿鍋呴悷鈺佺暦閸洖惟闁靛瀵岄崥瀣⒒閸屾瑧绐旀繛浣冲洦鍋嬮柛鈩冪☉缁犵姷鈧箍鍎遍幊澶愬蓟閿斿浜滈煫鍥ㄦ尰閸g晫绱掗悩鑽ょ暫闁哄被鍔岄埞鎴﹀幢濡儤顏¢梻浣烘嚀閸氬宕濆▎鎾宠摕闁靛ň鏅涢崡鎶芥煏婵炲灝鈧宕欑憴鍕闁挎繂鎳忛幖鎰版煥閺囥劋绨婚柣锝夋敱缁虹晫绮欓崹顔肩ギ闂備胶绮崝妯间焊濞嗘挻鍋橀柍鍝勫€风换鍡涙煟閹板吀绨婚柍褜鍓氶悧鐘差嚕婵犳艾惟闁宠桨娴囪闂佽鍑界紞鍡涘闯椤曗偓瀵偊宕掗悙瀵稿弳闂佺粯鏌ㄩ幖顐g墡闂備焦濞婇弨杈╂暜閹烘绠掗梻浣瑰缁诲倿骞婅箛娑樺惞闁割偁鍨洪崰鎰版煟濡も偓閻楀棙绌遍鐐寸厸濞达絿枪椤忣參鏌$仦鍓р槈闁宠棄顦埢搴ㄥ箛椤旈敮鏋忕紓鍌欒兌閸嬫捇宕曞畷鍥╃濠电姴娲ら拑鐔哥箾閹存瑥鐏柡鍛矒閹綊宕堕妸銉хシ缂備胶濮靛浠嬪箖濡ゅ啯鍠嗛柛鏇ㄥ墰椤︺儵鎮楀▓鍨灈濠⒀冮叄楠炴垿濮€閻橆偅顫嶉梺闈涚箳婵兘顢橀崫鍕ㄦ斀闁绘劕寮堕ˉ婊呯磼缂佹ê绗氱紒鍌涘浮閹繝鐛浣诡棃闁诡喒鏅犲Λ鍐ㄢ槈濡や焦绶氶梻鍌欑劍閹爼宕濇惔銊ョ?闁靛牆娲ㄩ惌姘跺级閸稑濡跨紒鈾€鍋撻梻浣规偠閸庢挳宕洪弽顓炵柧妞ゆ巻鍋撻柍瑙勫灴閹晠鎳犻璺ㄩ┏闂備礁鎲″鐟懊洪弽顓炵厺闁圭偓妞块弫鍥煟濡吋鏆╅柨娑欑矒濮婅櫣绱掑Ο鍝勑曢梺鍛婃尰濮樸劌鈻庨姀銈嗗殤妞ゆ帒鍊婚敍婊勭節閵忥絾纭鹃柨鏇缁棃鎼归崗澶婁壕婵炲牆鐏濋弸娑欍亜椤撶姴鍘寸€殿噮鍋婇獮鍥级閸喛鈧灝鈹戦埥鍡楃仩闁圭⒈鍋呮穱濠囧箮閼恒儮鎷绘繛鎾村焹閸嬫挻绻涙担鍐插濞堜粙鐓崶銊︾缂佽翰鍊曢湁闁绘ǹ灏欓幊浣割熆鐠哄彿鍫ュ绩娴犲鐓曢柍閿亾闁哄懏绮庨埀顒勬涧閻倸顫忓ú顏咁棃婵炴垶鑹鹃。铏圭磽娴h櫣甯涢柛鏃€鐟╂俊鎾川閹碱厽鏅㈤梺鍛婃处閸撴盯宕㈤崨濠勭閺夊牆澧介幃濂告煟閳╁啯顥堢€规洟娼ч埢搴ㄥ箛閳衡偓缁ㄥ姊洪崫鍕ォ濞存粎鍋ら獮鍐╃附閸涘﹦鍘垫俊鐐差儏妤犵ǹ鐡俊鐐€栭弻銊ф崲濮椻偓閵嗕礁鈻庨幘宕囶槯闂佺粯鎸哥花鍫曞磻閹炬椿鏁嶉柣鎰ˉ閹风粯绻涙潏鍓ф偧閺嬵亝銇勯妷銉х闁哄本绋撻埀顒婄秵閸嬪嫬霉椤旈敮鍋撶憴鍕闁搞劌鐏濋悾鐑藉Ω閳轰胶顔愬銈嗘尵閸犳劕鈻嶉崨瀛樷拻濞达綀顫夐崑鐘绘煕鎼淬垺銇濈€规洘绮岄~婵堟崉閾忕懓骞堥梻浣告贡閸庛倝宕靛鐐戒汗闁圭儤鎸诲▍婊堟⒑閸涘﹣绶遍柛鐘崇墵瀵娊宕奸妷锔规嫼闂佸憡绺块崕閬嶅几閺冨牊鐓曢悗锝冨妼閳ь剚绻傞锝嗙節濮橆厼浜滈梺缁樻尭濞寸兘顢欓幇顓犵閺夊牆澧界粔顒佺箾閸滃啰绉€殿喗濞婇、鏇㈡晜閽樺鍋撻悽鍛婂仭婵炲棗绻愰顏嗙磼閳ь剟宕煎┑鎰數閻熸粌閰i妴鍐╃節閸モ晛绁﹂梺绯曞墲缁嬫垹鐚惧澶嬬厱妞ゆ劧绲介悞褰掓煕鐎n偅宕岄柡浣稿暣瀹曟帒顫濇鏍ф倛闂傚倷鑳剁划顖炲礉閺囥垺鍋ら柕濞炬櫆閸嬬喖鏌曟繛鐐珕闁抽攱甯¢弻娑氫沪閸撗勫櫘闂佸憡鏌ㄧ粔褰掑箖濡ゅ啰绠旀繛鎴炆戦崳铏光偓瑙勬礃閻擄繝寮诲☉妯兼殕闁逞屽墴瀹曟劕鈽夐姀鐘靛€為梺闈浤涚仦鍓с偒闂備浇顕ч崙鐣岀礊閸℃ḿ顩叉繝闈涱儐閸婂灚銇勯幒鎴濐仾闁抽攱鍨圭槐鎺楊敍濞戞瑧顦ユ繝鈷€鍕弨闁哄本娲熷畷鍫曞Ω瑜忛悡澶愭⒑缁洘鏉归柛瀣尭椤啴濡堕崱妤冪憪缂備讲鍋撳ù锝堟缁犳棃鏌熼悜妯诲蔼濞存粍绮嶉妵鍕箛閸撲焦鍋х紓浣哄Х閸嬬偤濡甸崟顖氼潊闁宠棄妫欓悾椋庣磽娴h櫣甯涚紒璇茬墕閻g兘骞掗幋顓熷兊闂佺ǹ绻愰崥瀣矈椤曗偓濮婂宕掑顑藉亾閹间礁纾归柣鎴eГ閸婂潡鏌ㄩ弴妤€浜惧銈庝簻閸熸潙鐣风粙璇炬棃鍩€椤掑嫬纾奸柕濞垮剭瑜版帗鍋愮€瑰壊鍠栭崜顓㈡⒑闁偛鑻晶顕€鏌涢悢鍛婄稇闁伙絿鍏樺畷锟犳倷閳哄倻鈧姊鸿ぐ鎺戜喊闁告挻鐟ч懞閬嶅Ψ閿斿墽鐦堥梺姹囧灲濞佳勭閿曞倹鐓曟い顓熷灥閻忥妇鈧娲栫紞濠傜暦閻戠瓔鏁囬柣妯夸含閻熸繂鈹戦悩鍨毄濠殿喚鏁搁崰濠傤吋婢跺浜楀┑鐐村灦閿曗晠鎮㈤崱娑欏仯閺夌偞濯介鐔兼煕鎼达紕绠婚柡宀嬬秬缁犳稒绻濋崘鈺冨綃闂備礁鎼張顒勬儎椤栨凹鍤曟い鎺戝缁犳氨鎲稿鍥╃焾妞ゆ柨鐨烽弨鑺ャ亜閺冨倶鈧螞濮橆厾绠鹃柛婊冨暟閹ジ鏌涢幒鎾崇瑨闁宠姘︾粻娑欑節閸愵亖鍋撴繝姘拺閻犲洠鈧磭鈧鏌涢幇鐢靛帥婵☆偄锕濠氬磼濮橆兘鍋撴搴g焼濞达綁娼婚懓鍧楁⒑椤掆偓缁夊绮婚悩缁樼厵闁硅鍔楄ⅵ濠电偛妯婃禍鍫曞极閸ヮ剚鐓熼柟瀛樼箖椤ユ粍绻涢崼娑樺缂佺粯绻堥幃浠嬫濞磋绲块惀顏堝级鐠恒剱褏鈧鍠楅悡鈥愁嚕婵犳艾唯闁挎梹鍎抽獮鍫熺節閻㈤潧浠﹂柛銊ょ祷閵囨劖寰勫畝鍐ㄐ¢梺绋跨箳椤戞洘绂嶅⿰鍕╀簻闁规壋鏅涢悘顔锯偓娑欑箞濮婅櫣鈧湱濯ḿ鎰版煕閵娿儲鍋ユ鐐插暙閳诲酣骞樺畷鍥╁幀濠电姰鍨奸崺鏍懌闂佹寧绋愮欢姘潖缂佹ɑ濯撮柛娑橈工閺嗗牆鈹戦纭峰姛闁硅櫕鎸鹃崣鍛攽閻樿宸ラ悗姘煎櫍閹敻宕奸弴鐔哄幐闂佹悶鍎崕閬嶆倶閳哄啰纾奸柣娆屽亾闁革綇缍佸濠氬Χ婢跺﹦鐣抽梺鍦劋閸ㄥ灚鎱ㄦ径鎰拺鐟滅増甯楅弫杈ㄤ繆閻愯埖顥夋い顐㈢箰鐓ゆい蹇撳缁愭稒绻濋悽闈浶㈤悗姘煎櫍閹箖鎮介崨濠勫幗闁瑰吋鐣崹褰掑吹椤掑嫭鐓曟俊顖涗航閸嬨垽鏌℃担绋挎殻濠殿喒鍋撻梺闈涚墕閹虫劙顢橀悡搴富闁靛牆妫欓悡銉ヮ熆瑜岀划娆撳极瀹ュ應鍫柛顐ゅ枔閸樹粙鏌熼崗鍏煎剹闁搞劌纾划鏃堟偨閸涘﹦鍘遍柣搴秵娴滄粓顢旈銏$厵妞ゆ梹鏋婚懓鎸庮殽閻愯揪鑰挎い銏$懇閹墽浠﹂挊澶岀杽闂傚倸鍊风粈渚€宕崸妤€绠规い鎰剁畱閻ゎ喗銇勯幇鍓佹偧妞も晝鍏樺鍫曞醇椤愩倕甯ュ┑鐐茬墔缁瑩寮婚敐澶婄疀妞ゆ帊璁查弸娆撴⒑缁嬪灝顒㈡俊顐㈠暣瀵鍩勯崘鈺侇€撶紓浣割儐鐎笛冣枔婵犳碍鈷戠紒顖涙礃閺夊綊鏌涚€n偅灏い顏勫暣婵″爼宕卞Δ鈧ḿ鎴︽⒑缁嬫鍎愰柟绋款煼婵$敻宕熼姘棟闁荤姵浜介崝搴敊閸ヮ剚鈷戦悗鍦濞兼劙鏌涢妸銉т虎闁伙絿鍏樺畷濂稿即閻愬秲鍔戦弻鏇㈠醇濠靛洤绐涘┑鐐差槸濞尖€愁潖婵犳艾纾兼繛鍡樺焾濡差噣姊洪崷顓涙嫛闁稿瀚崣鍛存⒑闂堟单鍫ュ疾濞戞艾顥氬┑鐘崇閻撶喖鏌熼柇锕€澧柟顖氱墦濮婂宕掗妶鍛画缂備胶绮粙鎴︻敊韫囨侗鏁婇柤濮愬€曢崵顒勬⒒娴h櫣甯涢柟鍛婃倐瀹曨垶骞橀鑲╃暫閻熸粎澧楃敮鎺楁倷婵犲啨浜滈煫鍥ㄦ尵瀛濆┑鐐茬墛缁诲牆顫忓ú顏勫窛濠电姴鍟犻幏濠氭⒑閸濄儱校闁瑰憡鍎冲嵄闁圭増婢樼粻鎶芥煙閹屽殶缂佸鐖煎娲濞戞帒鎮嶇紓浣哄У閸ㄨ绔熼弴銏犵闁兼亽鍎遍埀顒傛暬閹嘲鈻庤箛鎿冧痪缂備讲鍋撻柛鎰靛枟閸嬨劍銇勯弽銊р槈婵炴惌鍣i弻娑㈠煘閸喚浠鹃梺璇″灡濡啯淇婇幖浣肝ㄧ憸婊堝触閸涱喚绡€闁汇垽娼ч埢鍫熺箾娴e啿鍚樺☉銏╂晣闁靛繆鈧枼鍋撻悽鍛婄厸濠㈣泛顑呴悘宥夋煛閳ь剚绂掔€n偆鍙嗗┑鐐村灦閿氭い蹇婃櫅闇夋繝濠傚暔閸嬨垽鏌$仦鍓р姇缂佺粯绻堝畷姗€濡歌缁辨繈鏌f惔銈庢綈婵炲弶岣块幑銏ゅ磼閻愭潙浠煎┑鐘绘涧椤戝懐绮堢€n偁浜滈柟鎵虫櫅閳ь剚顨婂鎼佸礃閳哄啰鐦堝┑鐐茬墕閻忔繈寮搁悢鍏肩厪闁搞儯鍔庡ú瀵糕偓瑙勬礃閸ㄥ潡鐛鈧獮鏍敇閻曚礁鏅梻鍌欒兌缁垶宕濋弴鐑嗗殨闁割偅娉欐径濞惧牚闁割偆鍠撻崢浠嬫⒑閹稿海绠撴俊顐g〒缁鎮欑喊妯轰壕閻熸瑥瀚粈鍫ユ煕閻樺磭澧甸柕鍡曠窔瀵挳濮€閻樻爠鍥╁彄闁搞儯鍔嶇粈鈧紓浣靛妸閸庨潧顫忔繝姘<婵﹩鍏橀崑鎾绘倻閼恒儱娈戦梺鍛婃尫缁€渚€宕瑰┑鍥ヤ簻闁哄稁鍋勬禒婊呯磼閳ь剚寰勭€n剛顔曢梺绯曞墲椤ㄥ牏绮诲Ο鑲╃=闁稿本绋掗惃鎴︽煙閸欏鎽冪紒鐘崇洴瀵挳鎮欓懠顑垮枈婵犵數濮烽弫鍛婃叏閺夋嚚娲晝閸屾氨鏌у┑鐘绘涧椤戝棝鎮¢弴銏″€堕柣鎰絻閳锋棃鏌曢崱妯烘诞闁哄本绋戣灒闁稿繐鍚嬪В鍫濃攽椤旂》榫氭繛鍜冪悼閸掓帒鈻庨幋鐐茬/闂侀潧臎鐏炶姤娅忛梻鍌氬€烽懗鑸电仚濡炪倖鍨靛Λ婵嗙暦濠靛棌鏋庨煫鍥风到濞堛劑姊洪崨濠傚婵☆垰锕ゅ玻鍧楀Ω閳哄倻鍘撻悷婊勭矒瀹曟粓鎮㈡總澶婃闁荤姴娲︾粊鏉懳i崼銉︾厪闊洦娲栨牎濡炪們鍎茬换鍫ュ蓟閿濆鍋愰柛蹇撴嚀閸╁懘姊洪崨濠冪叆闂佸府绲介悾宄扳攽鐎e灚鏅梺缁樺姉鐞涖儵骞忓ú顏呯厽闁绘ê寮剁粈宀勬煃瑜滈崜婵嗏枍閺囥垺鍊堕柟鍓х帛閳锋垹绱掔€n偒鍎ラ柛搴$Ч閺屾稒绻濋崘鈺冾槹闂佽鍣g粻鏍箖閸ф鏁嶆俊顖濐潐閻繘姊绘担鍛婅础闁稿簺鍊楅幑銏ゅ礃椤旇偐鏌у┑鐘绘涧椤戝棝鍩涢幋鐘电=濞达絽绠嶉埀顒佸笧閹叉挳宕熼褎閿ゆ俊鐐€栫敮鎺斺偓姘煎弮瀹曟洘鎯旈妸銉ь啇濠电儑缍嗛崜娆愪繆娴犲鐓冮梺鍨儏缁楁帡妫佹径鎰叆婵犻潧妫欓崳娲煕閻斿搫浠遍柟顔肩秺楠炲洭宕滄担铏规闂備礁鎼張顒傜矙閹烘绠氶柡鍌氱氨濡插牊淇婇姘Щ濞存粎鍋撶换婵嬫濞戞瑯妫ら梺鍝勬4婵″洭骞夐幖浣瑰亱闁割偅绻勯悷鏌ユ⒑缁嬫鍎嶉柛鏃€鍨垮璇测槈閵忕姷顔掗梺鍛婂姌鐏忔瑦顨ラ崶顒佲拺闁告繂瀚崳铏圭磼椤旇姤灏い顐㈢箰鐓ゆい蹇撳椤︺劑姊洪崨濠勬噧妞わ缚鍗冲畷鏇㈠箻缂佹ǚ鎷洪梺鑽ゅ枑濠㈡﹢寮虫潏鈺冪<缂備焦鈼ら鍫熷仼闁绘垼妫勭粻娑㈡煛婢跺﹦浠㈤柣搴幖椤啴濡堕崱妤€衼缂備浇灏Λ鍕敋閿濆鍨傛い鏃囶潐閺傗偓婵$偑鍊栧濠氭偤閺傚簱鏋旈柡鍐e亾濞e洤锕、鏇㈡晲鎼淬垻鏆﹂梻浣告惈閹冲孩鏅舵惔锝嗩潟闁圭儤鍤﹂悢鐓庢嵍妞ゆ挾濮烽弳浼存⒒閸屾瑧顦︽繝鈧潏鈺佸灊妞ゆ牗绮嶉弳婊堟煟閹邦喗鏆╅柣顓熸尰缁绘稑顔忛鑽ゅ嚬闂佺粯鎸婚惄顖炲箖濮椻偓閹瑩妫冨☉妤€顥氱紓鍌欒閸嬫捇鎮楅敐搴″幋闁稿鎸鹃幉鎾礋椤掑偆妲伴梻浣呵规鎼佸Χ濮濆本顥ら梻浣告啞閻熴儵藝椤撶喓顩叉繝濠傜墢閸欐捇鏌涢妷鈺婃闁告帞澧楅〃銉╂倷鏉堟崘鈧潡鏌$仦鐣屝ユい褌绶氶弻娑㈠箻閺夋垵鎽靛銈冨灪閻熲晛顕f禒瀣垫晣闁绘劗鏁稿畷鍫曟⒒娴e憡鎯堟繛灞傚妽閹便劑骞橀鐓庣€┑鐘绘涧濞层劎绮绘ィ鍐╃厱闁斥晛鍘鹃鍛弿闁告劦浜炵壕濂告偣閸パ冪骇妞ゃ儳鍋ら弻鐔哥瑹閸喖顬堥梺瀹狀潐閸ㄥ灝鐣烽崡鐐╂瀻闁瑰瓨绻傛瓏婵犵數濮烽。浠嬪礈濠靛ǹ浜归柛鎰靛枛鍥寸紓浣割儐椤戞瑥岣块弽銊х鐎瑰壊鍠曠花鍏笺亜閵夈儳澧﹂柡灞界Ч瀹曨偊宕熼锝嗩啀闂備線娼ч悧蹇涘礂濡警娼栭柧蹇撴贡閻瑩鏌涜椤ㄥ繘鍩€椤掍緡娈橀柣銉簽缁辨帡濮€閻樿尙顔愰梺鍛婎殜娴滃爼寮婚悢鍏煎亱闁割偆鍠撻崙锛勭磽娴e搫孝妞ゎ厾鍏橀獮鍐ㄎ旈埀顒勫煡婢跺ň鏋嶆い鎾楀倿鍋楀銈冨灪閹瑰洭鐛鈧畷婊勬媴閻氬闂繝鐢靛仩閹活亞寰婇挊澶涜€块梺顒€绉撮悡鈥愁熆鐠轰警鍎嶅ù婊勭矒閺岀喓鈧稒岣跨粻鏍煕閿濆懐绉洪柡灞界Ф缁辨帒螣鐠囪尙锛撴俊鐐€戦崹娲晝閵忋倕绠栨繛鍡樻尭閻撴盯鏌涚仦鍓р姇婵犮垺鍨垮濠氬磼濞嗘埈妲梺姹囧€曞ú銈堢亱闂佸憡娲﹂崐鐘测槈濡粍姊归幏鍛瑹椤栨盯鏁滃┑鐘垫暩婵炩偓婵炰匠鍥ㄥ亱闊洦娲栭ˉ姘攽閸屾碍鍟為柛瀣剁秮閺屾盯濡烽鑽ょ泿闂佹眹鍔岄幖顐︹€﹂懗顖fЪ濠电偛寮堕敃銏′繆閻㈢ǹ绀嬫い鏍ㄨ壘瀹撳棗顪冮妶鍛婵☆偅绋栭幗顐ょ磽閸屾艾鈧兘鎳楅崜浣稿灊妞ゆ牗绮嶅畷鏌ユ煕瀹€鈧崕鎴犵礊閺嶃劎绡€闂傚牊渚楅崕娑㈡煛娴e憡鍠橀柡宀嬬秮楠炲洭顢橀悜鍡橆棆闂備胶鍎甸弲娑樏规搴㈩潟闁规崘顕х壕鍏肩箾閸℃ê绗掗柛姗堢節濮婅櫣绮欏▎鎯у壉闂佸湱枪椤嘲鐣峰顓犵瘈闁搞儯鍔屽▓鐔兼⒑闂堟侗妾х紒鑼跺亹閸掓帡骞樼紒妯锋嫼閻熸粎澧楃敮妤呮晬閻旇櫣纾奸柍褜鍓氱粭鐔煎焵椤掑嫬绠栭柟绋跨昂閸嬪懘鏌涢幇銊︽珖闁告瑥妫楅埞鎴︽偐缂佹ɑ閿┑鈽嗗亽閸樼厧宓勯悷婊呭鐢鎮¢弴銏″€甸柨娑樺船閸燁偊鍩涙径宀€纾藉ù锝堟鐢稓绱掔拠鎻掓殶闁瑰箍鍨归埞鎴犫偓锝庝簽閿涙粌鈹戦鏂や緵闁告ü绮欓、娆忣吋婢跺鎷洪柡澶屽仦婢瑰棝藝閿曞倹鐓熸俊銈勭劍鐏忣厽銇勯銏㈢闁圭厧婀遍幉鎾礋椤愩倕閰遍梻鍌欒兌閸嬨劑宕曢弶鎴旀瀺闁哄洢鍨洪崐鍓佲偓骞垮劚椤︿即鍩涢幋锔界厵缂佸鐏濋銏㈢棯閻愵剚鍊愰柡灞剧洴婵℃悂濡堕崶鈺冨幆闂備胶绮笟妤呭窗濡ゅ啯宕叉繝闈涱儏閻愬﹪鏌曟繛鍨姍婵顨嗙换婵嬫偨闂堟稐鍝楅柣蹇撶箲閻熝囧礆閹烘鏁嶉柣鎰皺閺屟囨⒑闂堟稓绠為柛濠冪墵閸╂盯骞嬮悩鐢碉紲闁诲函缍嗛崑鍕敋濠婂嫮绡€闁逞屽墴楠炲秹顢欓崜褝绱叉俊鐐€栧ú鏍涘☉銏犵畺闁稿繘妫跨换鍡涙煕濞嗗浚妲稿┑顔肩Ф閳ь剚顔栭崰鏍€﹂柨瀣╃箚闁绘垼濮ら弲婊堟偡濞嗗繐顏╂い蹇撶秺濮婂宕掑▎鎴М闂佺顕滅槐鏇㈠箲閵忋倕纾兼繝褎鍎虫禍鐐叏濮楀棗澧俊鎻掝煼瀹曪繝鏌嗗鍡欏幍闂傚倸鍊搁顓㈠礉瀹ュ鐓熼柟鎹愭硾閺嬫垵菐閸パ嶈含濠碘€崇埣瀹曟帒顫濋銏╂闂傚倷娴囬褏鈧稈鏅濋崰濠傤吋閸滀胶鍞靛┑顔姐仜閸嬫捇鏌熼钘夊姢闁伙綇绻濋獮宥夋惞椤愶絾婢戦梻鍌欑劍閹爼宕曢鐐茬鐎光偓閸曨偆顦梺鍛婄☉閻°劑鍩涢幋锔界厵缂佸瀵ч幑锝囩磼閻樿櫕灏扮紒缁樼〒閹风姾顦撮柟顔垮亹缁辨帡顢氶崨顓炵閻庡灚婢樼€氫即鐛崶顒夋晣婵炴垶鐟ラ鍦磽閸屾艾鈧悂宕愰悜鑺ュ€块柨鏇炲€归弲顏勨攽閻樻剚鍟忛柛鐘崇墵钘濋柣銏⑶归拑鐔哥箾閹寸偟鎳勯柛搴e枑缁绘盯骞嬮悙鍐╁哺瀹曟垿骞橀弬銉︽杸闁诲函缍嗘禍鐐烘偩濞差亝鈷戦柣鎰閸旀粓鏌$€n剙甯堕崡閬嶆煕椤愮姴鍔滈柣鎾崇箻閻擃偊宕堕‖锝呯墦瀹曟垿骞樼拠鍙夘棟闂侀潧顦崕鐗堢珶閺囥垺鈷戦柛鎾村絻娴滄繃绻涢崣澶涜€块柟顕嗙節閹垽宕楅懖鈺佸箥闂傚倷绶¢崣蹇曠不閹达附鍊堕柨娑樺濡垱銇勯幘璺轰粶闁抽攱妫冮弻鐔碱敋閸涱厽鐏堝銈庡亝缁诲牓骞婂⿰鍛瀳婵☆垵顕ч褰掓⒒閸屾瑧顦﹂柟璇х磿缂傛捇宕稿Δ鈧壕鍧楀级閸稑濡垮褝绻濆濠氬磼濞嗘垵濡介柣搴g懗閸忕娀缂氱粻娑樷槈濡櫣鈧參姊洪懞銉冾亪藝娴犲鍚归柡鍥╁亹閺€浠嬫煟濡櫣鏋冨瑙勶耿閺岋綁骞掗幘娣虎闂佸搫鏈惄顖炵嵁閸ヮ剙惟闁挎梻鏅ぐ鍛繆閻愵亜鈧洜鈧稈鏅犻獮鎴﹀炊瑜滃ḿ鏍ㄧ箾瀹割喕绨奸柛銈嗗浮閺屾洟宕煎┑鍥ф闂佽瀛╅崕鎶藉煘閹达附鍋愭い鏃囧亹娴犻箖姊洪幐搴㈢8闁搞劋绮欏顐﹀箛閻楀牆鈧兘鏌涘┑鍡楊伀妞ゆ柨锕ら埞鎴炲箠闁稿﹥鎸剧划鍫熺瑹閳ь剟宕洪埀顒併亜閹烘垵鈧綊寮抽鍕厵妞ゆ梻鍘уΣ濠氭煃鐠囧弶鍞夌紒鐘崇洴楠炴瑩宕樿濡垳绱撻崒姘偓椋庢媼閺屻儱纾婚柟鍓х帛閻撴洘銇勯幇顔夹㈤柛鏃€绮撻弻锝夊箻鐎涙ḿ顦伴梺鍝勭焿缁插€熺亽闂佹儳绻掑▍銏㈡閻愬绡€闁冲皝鍋撻柛娑卞枟濮e牓姊洪崫鍕拱婵炶尙鍠庨悾鐑芥焼瀹ュ懎宓嗛梺缁樼憿閸嬫挻淇婂顔兼灈妞ゎ亜鍟存俊鑸垫償閳ヨ尙鍑圭紓鍌欑贰閸犳骞戦崶褏鏆︽繛宸簻閻掑灚銇勯幒宥夋濞存粍绮撻弻鐔兼倻濡櫣浠村銈呯箚閺呮繄妲愰幒妤佸亹鐎规洖娲ら埛宀勬⒑閸濆嫯瀚扮紒澶屾嚀閻g兘顢曢敃鈧粈瀣亜閹哄棗浜惧┑鐐叉噷閸婃繂顫忛搹瑙勫珰闁炽儱纾禒顖炴⒑缁嬫鍎戦柛瀣ㄥ€栨穱濠囨偨缁嬭法顦板銈嗙墬濮樸劑鎮块埀顒勬⒒娴e摜鏋冩俊妞煎妿閹峰寮婚妷銉э紱闂佸湱鍋撻弸濂稿绩娴犲鍊甸柨婵嗙凹缁ㄨ姤銇勯弬鎸庮棡缂佺粯绻堥幃浠嬫濞磋绲块惀顏堝级鐠恒剱褔鏌涢埡鍌滄创妤犵偞甯掕灃濞达絽鎼獮鍫ユ⒑鐠囪尙绠抽柛瀣仜閻e嘲螣閼姐倗褰惧┑顔姐仜閸嬫捇鏌$仦鐣屝ユい褌绶氶弻娑㈠箻鐎靛憡鍣伴悗瑙勬礃閻撯€愁嚕婵犳艾唯闁挎柨澧介弳銏ゆ⒒閸屾艾鈧兘鎮為敃鍌氱畺闁割偅娲栫壕鎸庣節婵犲倻澧曠€瑰憡绻冮妵鍕籍閸屾粍鎲橀梺鍝ュ枎闁帮絽顫忔繝姘<婵炲棙鍩堝Σ顔界節閵忋垺鍤€闁挎洦浜獮鍐晸閻樻煡鍞堕梺闈涱槶閸庢娊鏁嶅☉銏♀拺闁告稑锕﹂埊鏇熺箾閸忚偐鎳囬柟顖氳嫰铻栭柛娑卞灠瑜板嫰姊洪幖鐐插姌闁告柨閰i崺濠囧即閵忥紕鍘介梺瑙勫劤椤曨參骞婇崶顒佺厸鐎光偓閳ь剟宕伴弽顓溾偓浣糕槈濡攱顫嶅┑鐐叉閸ㄧ敻宕甸幒妤佺厽闁绘劕顕。鑼偓鍏夊亾缂佸顑欏ḿ鏍ㄧ箾瀹割喕绨荤紒鐙€鍣i弻銈夊箒閹烘垵濮曢梺鍝勬婵挳鍩為幋锔绘晩缁绢厼鍢叉导鎰渻閵堝骸骞橀柛蹇斆悾宄懊洪鍕姦濡炪倖甯婇梽宥嗙濠婂牊鐓欓柛婵嗗椤ユ粌霉濠婂啫鈷旂紒杈ㄦ尰閹峰懘宕崟鎴欏灮缁辨帗寰勭仦鎯ф畬闂佷紮绲块崗妯侯嚕閹绢喖顫呴柨娑樺婵悂鏌f惔銈庢綈闁圭ǹ鐖煎畷鏇㈠础閻忕粯妞介、姗€鍩€椤戣棄浜惧ù锝囩《濡插牓鏌曡箛濞惧亾閺傘儱浜鹃柣鎴eГ閻撴瑧绱撴担濮戭亞绮閺屽秷顧侀柛鎿勭畵瀹曪綁宕橀…鎴炵稁闂佹儳绻愬﹢閬嶆儗濞嗘挻鍋i柟顓熷笒婵″灝霉閻撳孩鍠樻慨濠呮缁瑥鈻庨幆褍澹嬮梻浣呵归鍐磹濠靛宓侀柛鎰靛枟閺呮悂鏌eΟ鐑樷枙婵炵厧锕娲倷閽樺濮ら柣蹇撶箲閻熝呭垝鐠囧樊娼╂い鎺戭槹鐎靛矂姊洪棃娑氬婵☆偅绋掗弲鍫曨敆閸屾粎锛滃銈嗘閸嬫劙鎮為幖浣圭厵妞ゆ牗鑹鹃弳锝嗩殽閻愬樊鍎旈柟顔规櫊閹晫鍠婃径灞界哎闂傚倷绀侀幖顐λ囬鐐村亱闁告洦鍨扮粈澶屸偓鍏夊亾闁告洦鍋傜槐璺衡攽閻愬弶鈻曞ù婊勭箞閹€斥槈閵忊€斥偓鍫曟煟閹伴偊鏉洪柛銈嗙懃閳规垿鍨鹃悙钘変划闂佸搫鑻粔鍫曞箟閹绢喖绀嬫い鎰╁€撶槐婵嬫煟鎼淬値娼愭繛鑼枑缁傚秹宕奸弴鐐存К闂佽法鍠撴慨瀵稿婵傚憡鐓曠€光偓鐎n剛鏆犲銈傛櫓閸撴稓妲愰幒鎾寸秶闁靛⿵绠戦棄宥夋⒑閻熸澘妲婚柟铏耿閻涱噣骞樼拠鑼唺閻庡箍鍎遍幏瀣涘⿰鍫熲拻闁稿本鐟︾粊鐗堛亜閺囧棗娲ょ粈鍕煟閿濆懐鐏辩紒鈧繝鍥ㄧ厱闁斥晛鍟伴埥澶岀棯閹规劦鍤欓棁澶愭煥濠靛棙鍣洪悹鎰ㄥ墲閵囧嫰鍩℃担鍝ラ獓缂備胶绮换鍐崲濠靛纾兼繝濠傚枤閺夋悂姊绘担铏瑰笡闁规瓕宕电划娆撳箻鐠囪尙鍔﹀銈嗗坊閸嬫挾绱掗悩鑼х€规洘娲熼弻鍡楊吋閸涱垱鐒炬俊鐐€栭崝褏寰婇懖鈺傚床闁糕剝绋掗悡鏇犳喐鎼淬劊鈧啴宕卞☉娆忎簵闂佸憡鍔﹂崰妤呮偂閵忊€茬箚妞ゆ牗鐟ㄩ鐔镐繆椤栨氨澧涘ǎ鍥э躬楠炴捇骞掗幘鍦攨缂傚倷娴囨ご鍝ユ暜閻愬灚顫曢柟鐑樺殾閻旂厧绀傞柣鎾抽閻忥繝姊虹拠鍙夊攭妞ゎ偄顦叅闁哄稁鍘煎洿闂佸綊妫跨粈浣虹不閺嶎厽鐓忛煫鍥ь儏閳ь剚鐗犻獮鍡涙倷閻戞ḿ鍘遍梺鎸庢椤曆囩嵁閺嶎厽鍋ㄦい鏍俊濂告煃鐟欏嫬鐏撮柟顔规櫊楠炲洦鎷呴崨濠冪彵闂傚倷绀侀幗婊勬叏閻㈠憡鍋嬮柣妯款嚙閺嬩線鏌涢幇闈涙灈閹喖姊洪棃娑辨Ф闁搞劍妞介幃妤€煤椤忓應鎷洪梺鍦瑰ù椋庣不閹剧粯鐓欓柛鎰▕濡叉悂宕¢柆宥嗙厱妞ゆ劗濮撮崝婊堟煟閹捐泛鏋涢柡灞炬礉缁犳稒绻濋崘銊︾暯闂備浇宕甸崰鏍磻婵犲洤鐤柛娑卞枤缁♀偓闂傚倸鐗婄粙鎺楀磼閵娿儍鐟扳堪閸曨厾鐓夐梺鍝勭焿缁绘繂鐣烽幒鎴旀婵☆垰鎼闂備浇顕х€涒晠鎳濇ィ鍐╃厐闁挎繂顦拑鐔衡偓骞垮劚閻楁粌顬婇妸鈺傗拺闁告稑锕ョ亸鎵偓鍏夊亾缂佸娉曢弳锔界節闂堟侗鍎忛柛妤佸▕閺屽秹宕瑰☉娆愭緬闂佺ǹ顑嗛幑鍥ь嚕椤曗偓瀹曠厧鈹戦崼顐P炲┑锛勫亼閸婃牠寮婚妸銉庯綁宕奸敐搴⑩枌婵°倗濮烽崑鐐烘偋濠婂牆绀嗛柟鐑橆殔缁€鍌氼熆鐠虹尨姊楀瑙勬礋濮婃椽鎳栭埞鐐珱闂佸憡鎸婚悷鈺佺暦閻㈠壊鏁嗛柍褜鍓熼崺鐐哄箣閿旇棄浜归梺鍓茬厛閸嬪懎袙閸曨垱鈷戠紒瀣儥閸庢垵鈹戦鈧弨杈╃矉瀹ュ洨鐭欓幖瀛樻尰閻庡姊虹憴鍕姢缁剧虎鍙冮幃浼村Ψ閳哄倵鎷洪梺鍛婄箓鐎氼垶鎯傛笟鈧弻娑樷槈閸楃偞鐏嶅銈嗘⒐濞叉ḿ鎹㈠┑瀣仺闂傚牊绋愮划璺衡攽閳藉棗鐏犻柨鏇樺劤缁顓奸崨顏勭墯闂佸壊鍋嗛崰搴ㄥ焵椤掆偓濞硷繝寮诲☉鈶┾偓锕傚箣濠靛懐鎸夊┑鐐茬摠缁秶鍒掗幘璇茶摕闁绘梻鍘ф导鐘绘煕閺囥劌甯ㄧ憸搴㈢┍婵犲洤绠氱憸宥呂f繝姘梿濠㈣泛顑囩弧鈧繝鐢靛Т閸婃悂顢旈锔界厽妞ゆ挾鍠庡ù顕€鏌$仦绯曞亾瀹曞洦娈曢梺閫炲苯澧寸€规洑鍗冲鍊燁槾闁哄棴闄勯妵鍕箛閸撲胶鏆犵紓浣插亾閻庯綆鍋佹禍婊堟煙閻戞ê鐒炬俊鑼额潐閵囧嫰濡烽婊冨煂闂佸疇顫夐崹鍧楀箖濞嗘挻鍤戞い鎺嶇劍閸犳牜绱撻崒娆戣窗闁哥姵顨婇獮鎰板礈瑜嶉崹婵嗏攽閻樺疇澹橀柛鎰ㄥ亾闁荤喐绮嶇划灞界幓閸ф鍐€闁靛ě鍜佸晭闁诲海鎳撴竟濠囧窗閺囩姾濮抽柤濮愬€楃壕濂告煟濡搫鑸圭€规挸妫欓〃銉╂倷鐎电ǹ鈪归柤鎸庡姈閵囧嫰骞掗崱妞惧闂備浇顕уù姘跺闯閿濆钃熺€广儱娲﹂崰鍡涙煕閺囥劌骞愬┑顔兼川缁辨挻鎷呴搹鐟扮缂備浇顕х€氭澘鐣烽悧鍫㈢瘈闁稿鏅崰搴ㄦ偩閳╁喛绱eù锝呭濡粓姊婚崒娆戝妽闁稿骸鍟块湁婵ǹ娉涚壕濠氭煕濞戞瑦缍戠紒鐘崇墬缁绘盯宕卞Ο璇查瀺闂佺粯鎸诲ú妯荤┍婵犲洤围闁告侗鍠栧▍銏ゆ⒑鐟欏嫮鍙€缂佺姵鐗犲濠氬灳瀹曞洦娈曢梺閫炲苯澧寸€规洑鍗冲浠嬵敇閻愮數鏆柣鐔哥矋閺屻劑鎮鹃柨瀣檮闁告稑锕ゆ禍婊堟⒑閸涘﹦绠撻悗姘煎墮閳绘捇濡疯绾句粙鏌涚仦鎹愬闁逞屽墴椤ユ挸鈻庨姀銈嗘櫢闁绘ǹ灏欓敍娑㈡⒑閸涘﹥澶勯柛姗€绠栭幆宀勫箻閼搁潧鏋戦梺缁橆殔閻楀棛绮幒妤佺參闁告劦浜滈弸鎴犵磼缂佹ḿ娲存鐐差儏閳诲氦绠涢弴鐐残ら梻鍌欐祰濡椼劎绮堟笟鈧畷顖炲箻椤旇壈鎽曢梺闈浨归崕顕€寮ㄦ禒瀣厱闁斥晛鍘鹃鍡欑幓婵炴垯鍨洪埛鎴澝归崗鑲╂噮闁诡喖銈搁弻娑樜熼悩鍙夌闁逞屽墯濡啫鐣峰鈧、娆撳床婢诡垰娲﹂悡鏇㈡煃閳轰礁骞樻い蹇撶墛椤ュ鈧箍鍎遍幊澶愬绩娴犲鐓ユ繛鎴灻鈺伱归悩顐f珕濞e洤锕、鏇㈠閻欌偓娴煎啴姊洪幐搴g畼闁稿濮风划璇测槈濡攱顫嶅┑鐐叉閸旀洟宕濋幒妤佲拻濞撴埃鍋撴繛鑹板吹閳ь剟娼ч惌鍌氱暦閵徛板亝闁告劏鏅滃▍鏍р攽閻樿宸ラ柛鐔哄█瀵劍绂掔€n偆鍘撻梺鑺ッˇ浼此夊⿰鍫熺厽闊洦娲栭埢鍫ユ煛瀹€鈧崰鎾诲窗婵犲洤纭€闁绘劖婢橀弸鍫ユ⒒娴g懓顕滅紒璇插瀹曟垵鈽夐姀鈥充患濠电娀娼ч鍛矆鐎n偁浜滈柟鍝勬娴滈箖姊洪柅鐐茶嫰婢ь噣鏌h箛鏃€鐨戦柟骞垮灩閳藉濮€閻樿鏁规繝鐢靛█濞佳囨偋閸涘瓨鎯為幖绮规閺€浠嬫煟閹邦剙绾ч柛锝嗘そ閺屻劑寮村Ο铏逛紙閻庢鍠涢褔鍩ユ径鎰潊闁绘ɑ顔栭崯瀣⒑鐠囨煡鍙勬繛浣冲洤绠熼柨鐔哄Т闂傤垱銇勯弽顐沪闁抽攱鍨块幃褰掑炊椤忓嫮姣㈢紓浣哄С閸楁娊寮诲☉銏″亜闁告稑锕︾粙鍥ь渻閵堝骸浜滅紒缁樺姉閸欏懎顪冮妶鍛閻庢凹鍓涚划锝呪槈濞嗘垹鐦堥梺姹囧灲濞佳冪毈闂備胶鍘ч崯鎸庢櫠鎼淬劌绠查柕蹇ョ磿閻熷綊鏌嶈閸撴瑩锝炶箛鎾佹椽顢旈崟顏嗙倞闂備線娼чˇ顓㈠磿濞戙垺鏅查柛銉到娴滈箖鏌涜箛鎿冩Ц濞存粌澧界槐鎾存媴閸撴彃鍓靛┑鐐差槹濞茬喎顕i幎鑺ユ櫇闁稿本绋撻崢顏堟椤愩垺鎼愭い鎴濇嚇閸┾偓妞ゆ帊鐒︾粈鍫㈢磼椤旂⒈鐓奸柟顔惧厴楠炲﹥绻濋崒婊呅ㄩ梺杞扮劍閸旀瑥鐣烽妸鈺婃晣闁绘劕澧庣粣锟犳⒒閸屾瑧顦︾紓宥咃躬瀵劑宕¢悜鍡樺瘜闂佽姤锚椤﹁棄岣块弽銊х鐎瑰壊鍠曠花鑽も偓鐟版啞缁诲倿鍩為幋锔藉亹闁圭粯甯楀▓顓㈡⒒閸屾凹妲哥紒澶婄秺楠炲啫鐣¢幍鍐茬墯闂佸憡娲﹂崜娑㈠礄閿熺姵鈷戦柛婵勫劚濞呭繘鏌涢妸銉э紞闁告帗甯為埀顒婄秵娴滃爼宕ョ€n喗鐓曢柍鈺佸暟閹虫劖绻涢弶鎴濐伃闁哄矉绲鹃幆鏃堫敍濠婂憛锝夋⒑缁嬫鍎忔俊顐g箓閻g兘濮€閵堝棛鍔堕悗骞垮劚濡盯宕㈡禒瀣厵闁稿繐鍚嬮崕妤呮煕閵娿儳锛嶇紒顔芥濡啫霉閵忋垺鍤€妤楊亙鍗冲畷鐔碱敇閻橀潧甯ㄥ┑锛勫亼閸婃垿宕归崫鍕庢盯宕橀琛″亾娴e壊娼ㄩ柍褜鍓氶幈銊╁焵椤掑嫭鐓ユ繛鎴灻鈺傤殽閻愯尙校濞e洤锕幃娆擃敂閸曘劌浜鹃柡宓本缍庨悷婊呭鐢帡宕欓悩娴嬫斀闁绘ê纾。鏌ユ煕閵堝倸浜鹃梻鍌欒兌椤宕熼崹顐ゆ殾闂備胶绮幐鑽ょ矙閹达附绠掗梻浣瑰缁诲倸袙閵夈劊浜归柟鐑樺灦鏉堝牓姊洪幐搴g畵婵炶尙濞€瀹曟垿骞橀懜闈涙瀭闂佸憡娲﹂崜娑⑺囬妸鈺傜厽闁靛繆鏅涢悘锟犳偨椤栥倗绡€鐎规洘妞芥俊鐑芥晝閳ь剛娆㈤悙娴嬫斀闁绘ɑ褰冮銏ゆ煕瀹ュ娑фい顏勫暣婵″爼宕卞Δ鈧ḿ鎴︽⒑缁嬫鍎愰柟绋垮⒔濡叉劙骞掑Δ浣镐汗闂傚倸鐗婄粙鎰i幇顑芥斀妞ゆ梻銆嬮崝鐔虹磼椤曞懎鐏︽鐐茬箻瀹曘劑顢涘⿰鍫氭敽闂佽鍑界紞鍡樼濠靛鏁婇柛鏇ㄥ灡閳锋帒霉閿濆懏鍟為柛鐔哄仱閺屾盯濡搁妷褏楔閻庢鍠楅悡锟犮€侀弴銏犖ч柛鈾€鏅滅紞妤呮⒒娴h櫣甯涢柛鏃€娲熼獮鏍敃閿旀儳绁﹂梺闈涢獜缁辨洜绮绘ィ鍐╃厵閻庣數枪娴滃墎绱撻崒娑樺摵闁哄被鍔岄埥澶娾枎閹寸偛鍨辨繝娈垮枛閿曘劌鈻嶉敐澶婄闁哄稁鍘奸崡鎶芥煟閹邦厾銈撮柟鏋€濆娲寠婢跺﹥娈烘俊鐐存綑閹芥粓骞戦姀鐘闁靛繒濮寸粣娑橆渻閵堝棛澧い鏇熸尦閺佹劖寰勭€n剙甯鹃梻浣规偠閸庢粓宕橀崣銉х>濠德板€楁慨鐑藉磻閻愬灚鏆滈柨鐔哄Х瀹撲線鎮楅敐搴濈按闁衡偓娴犲鐓曢柟鎵虫櫅婵″搫顭跨憴鍕婵﹥妞介幃鈩冩償椤旂晫绋愰梻浣呵归敃銉ッ洪悢缁橈紓婵犳鍠楅敃鈺呭礂濮椻偓瀵劍绂掔€n偆鍘遍柣蹇曞仜婢т粙銆傞弻銉︾厱闁绘柨鎼禒閬嶆煛瀹€瀣М妤犵偞岣块埀顒佺⊕宀e潡藝娴煎瓨鈷戦悹鍥b偓铏亶闂佹寧娲忛崹浠嬬嵁閸愩劉鏋庨柟鎯х-椤斿矂姊洪悷鐗堟儓婵☆偅鐟ч埀顒€鐏氶悧鐘差潖缂佹ɑ濯撮柛婵勫劜閻庮喖鈹戦埥鍡椾簻閻庢碍濯藉Λ鐔兼煛婢跺﹦澧愰柡鍛矒閿濈偤寮撮姀锛勫幍闂佺粯鍨堕敋闁绘帞鍋撶换娑㈠箻閹颁胶鍚嬮梺鍝勮閸旀垵顕i弶鎳虫棃鍩€椤掍胶顩查柟顖嗏偓閺€浠嬫煟閹伴偊鏉洪柛銈咁儑缁辨帡鎮╅搹顐㈢3濡ょ姷鍋涢崯鎾垂妤e啫妫橀柕澶涘閳ь剙顭峰铏规喆閸曨偄濮㈠銈嗘处閸欏啫鐣烽姀锛勵浄閻庯綆鍋€閹疯櫣绱撻崒娆戝妽閽冮亶鏌i幘鍗炲姦闁哄瞼鍠撻幏鐘侯槾缁剧偓瀵х换娑㈠幢閹邦剛浼堥悗瑙勬穿缁叉儳顕ラ崟顖氶唶婵犲﹤鎳愬▔鍧楁⒒閸屾埃鐪嬮柛瀣闇夐柛鏇ㄥ幖缁躲倝鏌﹀Ο渚▓闁搞倖娲橀妵鍕即濡も偓娴滈箖姊洪崫鍕槵闁逞屽墮绾绢參寮抽崱娑欑厓鐟滄粓宕滈悢椋庢殾濞村吋娼欓崘鈧銈嗘尵閸嬬喖鎮惧ú顏呪拺闁哄倶鍎插▍鍛存煕閻曚礁鐏︾€规洘娲熼幃銏ゅ礂閼测晛甯鹃梻濠庡亜濞层垽宕曢幎钘夌畺闁稿繒顑曟禍婊堟煏韫囨洖校闁搞倕娲﹂幈銊︾節閸曨厼绗¢梺鐟板槻閹虫﹢骞冨⿰鍏剧喖鎮滃Ο鍏兼闂備浇顕х€涒晠顢欓弽顓炵獥闁哄稁鍘介崑澶娾攽閸屾碍鎲哥€规挷绶氶弻鐔兼偋閸喓鍑$紓浣插亾闁告劦鍠楅悡鐘电棯閺夊灝鑸瑰褜鍨辩换娑㈠醇閵壯呮毇濠殿喖锕ㄥ▍锝囨閹烘嚦鐔兼嚒閵堝懎姹查梻鍌欑閹诧繝鎳濇ィ鍐炬晞濠㈣泛瀛╅敍鍌炴⒒娴gǹ顥忛柛瀣瀹曚即骞橀崜浣风瑝婵°倧绲介崯顖炴偂濞嗘挻鍊甸柣銏㈡鐟欏嫮顩风憸鏃堝蓟閻旂厧绀冮柟缁樺俯娴煎啴姊洪崫鍕効缂佽弓绮欓崺鐐哄箣閿曗偓缁犲鏌涢幘鑼跺厡婵℃彃娲︾换婵嗏枔閸喗鐏堥梺鎸庢磸閸婃繈鍨鹃敃鈧悾锟犲箥椤旇姤顔曢梻浣告贡閸庛倝宕洪崼婵佺細闁冲搫鍊舵禍婊堟煙鏉堝墽绋绘い銉ヮ槸闇夋繝濠傜墢閻f椽鏌″畝鈧崰鏍ь潖閼姐倐鍋撻棃娑橆棌婵″樊鍠氱槐鎺楀箚瑜嶉埛鏃堟煙閾忣偅宕岄柍銉︽瀹曟﹢顢旀担闀愬闂佹寧绻傜花鑲╄姳婵傚憡鐓欓柣褍鎽滅粔顕€鏌″畝瀣М妞ゃ垺锕㈤幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙盯姊虹紒妯哄闁稿簺鍊濆畷鎴犫偓锝庡枟閻撶喐淇婇婵嗗惞婵犫偓娴犲鐓冪憸婊堝礂濞戞碍顐芥慨姗嗗墻閸ゆ洟鏌熺紒銏犳灈妞ゎ偄鎳橀弻锝呂熼懡銈呯仼闂佹悶鍎崝搴ㄥ储闁秵鐓熼煫鍥ㄦ礀娴犳粌顭胯缁瑩骞冮敓鐙€鏁嶆慨妯垮亹閸炵敻鏌i悢鍝ユ噧閻庢凹鍘剧划鍫ュ焵椤掑嫭鈷戦悗鍦濞兼劙鏌涢妸銉﹀仴闁靛棔绀侀埢搴ㄥ箻閺夋垵澹掓俊鐐€栭崝锕傚磻閸屾粏濮冲┑鐘崇閻撶喖鏌ㄥ┑鍡樻悙闁告ê鐡ㄩ妵鍕閳藉棙鐤侀悗瑙勬礈閸犳牠銆侀弴銏狀潊闁绘ǹ椴搁崰姘舵⒒閸屾瑦绁版い鏇嗗厾褰掓倻閽樺鐎梺鍛婄缚閸庢煡宕楀⿰鍫熺厱妞ゆ劧绲剧粈鈧紒鐐劤椤兘寮婚悢鐓庣闁归偊鍓涢崢顐︽⒑閸濄儱孝婵☆偅绻堝璇测槈閵忕姴宓嗛梺闈浨归崕閬嶏綖椤愩埄娓婚柕鍫濈箺缁€瀣煕鎼达紕锛嶆俊鍙夊姍楠炴ḿ鎷犻懠顒婄床婵犳鍠楄摫闁伙妇鍏樻慨鈧柕鍫濇閸欏棝姊洪崫鍕偍闁告柨顑囬懞杈╃磼濡晲绨婚梺鍝勬祩娴滅偟绮欓懡銈囩<缂備焦岣跨粻鎾淬亜椤愶絿绠炴い銏☆殜閸┾偓妞ゆ帒瀚崵鈧梺鍓茬厛閸犳帡寮ㄦ禒瀣闁规儼妫勭壕褰掓煛閸ャ儱鐏柡鍛箞閺屾洟宕煎┑鎰︾紓浣哄У閻楃娀寮婚悢鍛婄秶濡わ絽鍟宥夋⒑閹惰姤鏁遍柛銊ユ健瀵鈽夊Ο閿嬵潔濠殿喗顨呴悧濠囥€傞懖鈺冪=濞达絽鎽滈崺锝吤瑰⿰鍐煟鐎殿喛顕ч埥澶愬閻樻牑鏅濋幉鍛婃償閳锯偓閺嬪秹鏌¢崶鈺佹瀺缂佽妫濋弻娑樷枎韫囷絾笑婵犳鍠栫粔褰掑蓟閿涘嫪娌柤鎭掑労濡偛顪冮妶鍡樺碍闁靛牏枪閻g兘宕¢悙鈺傜€婚棅顐㈡处閹搁箖顢欓幋锔解拻闁稿本鐟ㄩ崗灞俱亜閵忕媴鏀荤紒鏃傚枛瀹曞ジ濡烽妷褜鍞芥俊鐐€曠换鎰涘▎鎿勭稏闁哄洢鍨洪悡娑㈡煕閵夛絽鍔氶柣蹇d邯閺屾稓鈧急鍕彆闂侀潧娲ょ€氫即鐛鈧畷锟犳倷閸忓摜妫梻鍌欒兌缁垶骞愮拠瑁佹椽鎮㈤懖鈺佺ウ闂佸搫绋侀悘鏃€鎯旈…鎴炴櫌闂侀€炲苯澧ǎ鍥э工鐓ゆい蹇撴噽閸樼敻姊洪崫鍕潶闁稿孩濞婇幃鎯洪鍛幍缂備礁顑呯亸鍛啅閵夆晜鐓冮悷娆忓閻忓鈧娲戦崡铏叏閳ь剟鏌eΟ鍏兼毄濡ゆ棃鏌f惔銈庢綈婵炲弶锕㈤妴鍐╃節閸屾粍娈惧┑掳鍊曢幊蹇涘吹閸愵喗鐓冮柛婵嗗閺嗗﹪鏌$€n亞绠崇紒杈ㄦ崌瀹曟帒鈻庨幒鎴濆腐闂備胶枪椤戝棝骞愰幖浣瑰仼鐎瑰嫭瀚堥悢鐑樺仒闁斥晛鍟版禍娆撴⒒娴e憡鎯堟繛灞傚灲瀹曠銇愰幒鎾斥偓鍧楁煕椤垵浜栧ù婊勭矒閺岀喖宕崟顒夋婵炲瓨绮屾晶鐣屾閹惧瓨濯撮柛婵嗗珔閵忋垻纾煎璺烘湰閸も偓闂佷紮绲块崗妯侯嚕閹绢喖顫呴柨娑樺婵悂鏌f惔銈庢綈闁圭ǹ鐖煎畷鏇㈠础閻忕粯妞介弫鍌炴煥椤栨矮澹曟繛杈剧到閸燁偅绂嶈ぐ鎺撶厓鐟滄粓宕滃杈╃煓闁圭儤顨嗛弲顏勨攽閻愯尙鎽犵紒顔肩Ч閵嗗啯绻濋崒銈嗙稁濠电偛妯婃禍婊勫閻樼粯鐓曢柡鍥ュ妼婢ь噣鏌涚€n亞效婵﹥妞介獮鏍倷閹绘帩鐎存繝纰夌磿閸嬫ḿ鍒掑▎鎾跺祦闁告劦鍠栭悘鎶芥煛閸屾ê鍔滄い顐㈢Ч濮婃椽妫冨☉銏㈠椽缂備浇椴稿ú鐔风暦閵忋倖鐒肩€广儱妫岄幏娲⒒閸屾氨澧涘〒姘殔椤﹨顦寸紒杈ㄥ浮閻擃偊顢橀悩鐢靛幆闁诲氦顫夊ú妯兼崲閸岀儑缍栨繝闈涱儛閺佸嫰鏌ら幁鎺戝姕闁哄鎮傚缁樻媴閻熼偊鍤嬬紓浣割儐閸ㄥ綊鍩€椤掍礁鍤柛鎾寸洴瀵偊顢氶埀顒勫箠濠婂牊鍊烽梺顐g〒閻╁孩淇婇悙顏勨偓鏍箰閹绢喖鐒垫い鎺嗗亾闁哥喐瀵ч幈銊ョ暋闁附瀵岄梺闈涙搐瀹曨剟宕愰懡銈囩幓闁哄啫鐗婇悡娑㈡倶閻愭彃鈷旀繛鍙夋綑閳规垿鍩勯崘鈺佲偓鎰攽閳ュ磭鍩g€规洏鍔戦、姗€鎮╅闂寸病濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩绾惧鏌熼崜褍浠洪柍褜鍓氱敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戦悩鎰佸晱闁哥姵鐗犻弫鍐Ω閵夈垺鐎洪梺鎸庣箓濞诧箓锝為弴銏$厵闁绘垶锚濞堥箖鏌i弮鍌氬付缂佺姴顭烽弻褑绠涢敐鍛嚱缂佺虎鍘搁崑鎾剁磽閸屾艾鈧娆㈤敓鐘茬獥婵°倐鍋撻摶鐐烘煕閹伴潧鏋旈柍褜鍏涚粈渚€锝炲┑鍫熷磯闁惧繒鎳撴慨锔戒繆閻愵亜鈧牜鏁幒鏂哄亾濮樸儱濮傞柛鈹惧亾濡炪倖鍨煎▔鏇犵玻閺冨倵鍋撳▓鍨珮闁革綇绲介悾鐑芥偂鎼存ɑ鏂€闁诲函缍嗘禍婵嬪汲椤忓牊鈷掗柛灞剧懆閸忓瞼绱掗鍛仩閾荤偛霉閿濆洨銆婇柡瀣Ч閺屻劌鈹戦崱鈺傂﹀┑顔款潐閻擄繝寮婚弴锛勭杸閻庯綆浜栭崑鎾诲冀椤撶偟鍘遍梺鍦劋椤ㄥ棝鎮¢弴銏″€堕柣鎰綑缁€鍐熆鐟欏嫸鑰块柡灞界Х椤т線鏌涢幘瀵告创鐎规洘顨呴~婊堝焵椤掑嫮宓侀柛鎰靛枟閸婄兘鏌i幋鐐嗘垵鈻嶉崱娑欌拻濞达綀顕栭崕銉╂煕閵娧冾暭缂佸倸绉瑰畷婊嗩槾缁炬儳鍚嬫穱濠囧Χ閸曨喖鍘¢梺瀹犳椤︾敻寮婚悢鐓庣闁肩⒈鍓涢鍥⒑娴兼瑧鎮奸柛蹇斆锝嗙節濮橆儵銊╂煥閺冣偓閸庢娊鐛崼銉︹拺閻犲洩灏欑粻鎶芥煕鐎n剙鏋涢柟鑹邦潐閹棃濡搁妷銉﹀劒闂備線娼ч悧鍡椢涘☉姘变笉濡わ絽鍟悡娆撴倵閻㈢櫥褰掑礈闁秵鐓熼柟鐑樻尰閸婃劙鏌″畝瀣瘈鐎规洘锕㈡俊姝岊槻妞わ絾妞介幃妤呮偡閻楀牆鏆堢紓浣筋嚙閸熷瓨淇婇悽绋跨妞ゆ牗姘ㄩ鎺楁煟閻樼儤顏犳繛鎻掓嚇婵偓闁宠棄妫欓鏃堟⒑缂佹ê濮堟繛鍏肩懃闇夋い鏃囧Г閸欏繐鈹戦悩鎻掝伀閻㈩垱鐩弻鐔风暋閻楀牆娈楅悗瑙勬磸閸斿秶鎹㈠┑瀣闁靛ǹ鍎遍ˉ鎺撶節閻㈤潧啸闁轰焦鎮傚畷鎴濃槈閵忊€冲壋婵炴潙鍚嬪ḿ娆撳垂閸岀偞鐓㈡俊顖欒濡叉椽鏌¢崱顓犵暤闁哄矉缍侀幃銏㈢矙閹稿海褰芥繝鐢靛仜濡﹥绂嶉崼鏇炴瀬闁稿瞼鍋為悡鏇熺箾閹存繂鑸规鐐村笧缁辨帡濡歌閺嗩剚鎱ㄦ繝鍕笡闁瑰嘲鎳樺畷銊︾節閸屾稒鐣奸梻鍌欑閹测€澄涢幋锔解挃闁告洦鍘鹃惌澶屸偓骞垮劚閹冲寮ㄦ禒瀣€甸柨婵嗙凹缁ㄤ粙鏌e☉鏍у姦婵﹪缂氶妵鎰板箳閹存粌鏋堥梻浣告啞閿氬褑妫勯锝堫樄闁糕斁鍋撳銈嗗笂閼冲墎寮ч埀顒勬⒑濮瑰洤鐏叉繛浣冲啰鎽ラ梻鍌欒兌鏋柨鏇閸掓帡顢涢悙鑼煣闂佸壊鍋呭ú鏍础閹惰姤鐓熸俊顖氬悑閺嗏晠鏌ㄥ☉娆戠煉婵﹥妞介弻鍛存倷閼艰泛顏繝鈷€鍐惧殶闁逞屽墲椤煤閺嶎厼围闁归棿绀佺粻鏍煏韫囧鐏柣顓熺懇閺屾盯鈥﹂幋婵囩亞缂備浇浜崰搴ㄥ煘閹达附鍋愭繛鍫熷濮e苯鈹戦埄鍐ㄧ祷闁硅櫕锚閻i鎲撮崟顒傜Ф闂佸疇顫夐崕铏閸撗呯<婵°倓鑳堕埥澶愭煙閸愯尙绠荤€规洘顨呴オ浼村礂閻愵剚顥堥柡浣瑰姍瀹曘劑顢橀悢鍓插敼闂傚倷鑳剁划顖炲箰閸洖鍨傚ù鐘差儏閽冪喐绻涢幋娆忕仼缂佺姵鐩弻娑滅疀閹惧瓨鍠愰梺鐑╂櫅闁帮絽顫忓ú顏勪紶闁告洟娼ч崜閬嶆⒑閻戔晜娅撻柛銊ㄦ硾椤曪絾绻濆顓熸珫闂佸憡娲︽禍婵嬪礋閸愵喗鈷戠紓浣姑慨锕傛煕閹惧娲撮挊婵嬫煏婵炑冩噽閿涙繃绻涙潏鍓хК婵炲拑绲块弫顔尖槈濮樿京锛滈柣搴秵閸嬪棙鏅堕悽鍛婂癄婵犻潧顑嗛悡娑㈡倶閻愰鍤欓柛鏃€绮撻弻娑欑節閸屾粈绮甸梺閫涚┒閸斿矁鐏掗梺鍛婄箓鐎氼垶宕洪悙鐑樷拺闁告稑鈯曢鍫晪妞ゆ挶鍨归悞鍨亜閹烘垵鏋ゆ繛鍏煎姈缁绘盯宕f径娑溾偓璺ㄢ偓瑙勬礀缂嶅﹪鐛幇顓熷劅婵犻潧鐗忛悾楣冩⒒娴e摜绉烘俊顐ユ硶缁牊绗熼埀顒勫箖閳ユ枼妲堥柕蹇ョ磿閸橀亶鏌h箛鏇炰户闁惧繐楠搁埢鎾诲即閵忊€斥偓鍨叏濡搫鏆卞ù婊冩贡缁辨帗娼忛妸锕€纾抽悗瑙勬礃鐢帡锝炲┑瀣垫晞闁芥ê顦竟鏇㈡⒑缂佹ê鐏卞┑顔哄€濆畷鎰板锤濡や胶鍙嗛梺鍝勬川閸嬫盯鍩€椤掆偓缂嶅﹤顕i弻銉晜闁告洏鍔嶉弬鈧梻浣虹帛钃遍柛鎾村哺瀹曨垵绠涘☉娆戝幈闂佺粯锚绾绢厽鏅堕鍫熷亗闁靛牆顦伴悡銉╂煛閸モ晛浠滈柍褜鍓欓幉锟犮€佹繝鍥ㄢ拻濞达絽鎲¢崯鐐寸箾鐠囇呯暤鐎规洝顫夌€靛ジ寮堕幋鐙€鏀ㄩ梻浣筋潐閸庡吋鎱ㄩ妶澶嬪亗闊洦鎸撮弨浠嬫煟閹邦垰鐨哄ù鐘灲閺屾盯寮埀顒€顫濋妸褎顫曢柟鐑橆殢閺佸啴鏌曡箛濠冨殨鐟滃酣骞堥妸锔剧瘈闁告侗鍣禒鈺呮⒑閸涘﹦澧柣妤冨Т椤曪綁骞橀钘変簻闂佸憡绋戦敃锔剧礄婵犳碍鈷掗柛灞剧懅閸斿秹鏌熼鑲╁煟鐎规洘绻嗙粻娑㈠箻閹邦厾娲寸€规洜鍠栭、娑㈡晲閸℃ɑ鐝ㄩ梻鍌欑劍鐎笛呮崲閸岀倛鍥敍濠婂懍绗夌紓鍌欑劍鑿уù婊勭矒閺岋繝宕橀妸銉㈠亾閻㈢ǹ绠柍鈺佸暟缁犻箖鏌i幘鍐插毐闂婎剦鍓氶幈銊︾節閸愨斂浠㈤梺璇″枟閻熲晠骞愭繝鍐ㄧ窞濠电姴鍋嗗ḿ銉╂⒒閸屾瑧顦﹂柟纰卞亰椤㈡牠宕ㄩ弶鎳逞呯磼鐎n厽纭堕柡鍡畵閺岀喐娼忛崜褏鏆犵紓浣哄Ь瀹曠數妲愰幘瀛樺濠殿喗鍩堟禍婵堢矉閹烘嚚娲敂閸涱亝瀚奸梻浣告啞缁嬫垿鏁冮敃鍌氱叀濠㈣埖鍔栭悡銉╂煛閸ユ湹绨介柣锝囨暩閳ь剝顫夊ú鈺冪礊娴e摜鏆﹂柛妤冨剱濞撹崵绱撴担鑲℃垿寮堕幖浣光拻濞达綀娅g敮娑樼暆閿濆牊纭堕柛鎺撳浮椤㈡稑顫濋敐鍡╂綌闁荤喐绮岀€涒晝绮氭潏銊х瘈闁搞儴鍩栭弲婵嬫⒑閹稿海绠撻悗娑掓櫊閹寧绗熼埀顒€顫忛搹鐟板闁哄洨鍠愬鎺楁⒑缁嬫鍎愰柟鍛婃倐閳ユ棃宕橀鍢壯囨煕閳╁喚娈橀柣鐔村姂濮婅櫣绮欓崠鈥充紣缂傚倸绉撮敃銈夋偩閻戣姤鍋ㄧ紒瀣硶閸旓箑顪冮妶鍡楃瑨閻庢凹鍙冮崺娑㈠箣閿旇棄鈧敻鏌涢敂璇插箹妞ゅ骸鐭傞弻娑㈠Χ閸℃瑦鍣紓浣介哺鐢顕ラ崟顓濇勃闁诡垎鍕殮闂傚倷妞掔槐顔惧緤閸ф绀傛俊顖濇閺嗭箑鈹戦崒婧撳綊宕¢幎鑺ョ厽闁归偊鍓涜ⅵ闂佸搫鎳愭繛鈧€殿喖顭锋俊鎼佸Ψ閵忊剝鏉搁梻浣虹《閸撴繈銆冭箛鏂款嚤闁逞屽墴濮婄粯鎷呴崫鍕Е闂佸搫鎳忛惄顖炲蓟婵犲洦鏅查柛婊€鐒︾紞搴g磽閸屾瑧鍔嶅畝锝堟硶瀵囧焵椤掑嫭鐓欓柤娴嬫櫈钘熼梺閫炲苯澧查悘蹇旂懇閹嫭鎯旈姀銏㈢槇闂佹眹鍨藉ḿ褎绂掗埡鍌樹簻闁哄洨鍠撻惌瀣庨崶褝韬€规洖鐖奸崺鈩冩媴閸濄儰鍠婂┑鐘垫暩閸嬫稑螞濞嗘挸绠伴柛婵勫劤娑撳秵绻涢幋娆忕仾闁绘挻绋戦…璺ㄦ崉閸濆嫷鍔夌紒缁㈠幖閻栧ジ寮婚敐澶娢ч柛娑卞枛濞呫倖绻涢敐鍛悙闁挎洦浜濇穱濠囧箚閹殿喚鏉搁梺鍝勬川閸嬫盯鎮¢崒鐐粹拻濞达絽鎲¢幉鎼佹煕閿濆啫鍔︾€规洖缍婂畷濂稿即閻愮數鏆梻浣哄仺閸庢煡寮搁悡骞綁宕奸妷锔惧帾闂婎偄娲よ墝闁稿鎹囧顒勫Ψ閵夈倕顥氶梻浣稿閸嬪懎煤濮椻偓閹繝鎮㈤崗鑲╁幍闂佽顔栭崰鏍€傞崗鑲╃闁瑰啿鍢查崢楣冩偡閹靛啿鐗氶梺鍛婂姂閸斿骞愰崘顏嗙=濞达絼绮欓崫娲偨椤栥倗绡€鐎规洘妞介崺鈧い鎺嶉檷娴滄粓鏌熼悜妯虹仴闁逞屽墰閺佽鐣烽幋锕€绠荤紓浣股戝▍婊堟煙閼测晞藟闁逞屽墮閸熻法绮婚敐澶嬧拻濞达絽鎳欒ぐ鎺濇晞闁糕剝绋戠粻鏉课旈敐鍛殭缂佺姷鍠栭弻鐔虹磼閵忕姵鐏堢紓浣插亾閻庯綆鍋佹禍婊堟煙閻戞ê鐏ュù婊呭仦娣囧﹪鎳犻浣告畬闂佸疇顫夐崹鍧楀箖濞嗘挻鍤戞い鎺嶇劍閸犳牜绱撻崒娆戣窗闁哥姵鐗犻幆宀勫磼閻愯尙鐣洪梺闈涱檧婵″洭姊介崟顓犵<閻庯綆鍙庨崵锕傛煏婢跺牆鍓憸鐗堝笚閺呮煡鏌涘☉鍗炲季婵☆偄鑻埞鎴︽倷濞堝灝鍔嗛梺鍛婃⒐閸ㄥ灝顕g拠宸悑闁割偒鍋呴鍥⒒娴e憡鍟為柟鎼佺畺瀹曚即寮介鐔蜂粧濡炪倖娲嶉崑鎾垛偓瑙勬礃閿曘垽銆佸▎鎴濇瀳閺夊牄鍔庣粔閬嶆⒒閸屾瑧鍔嶉悗绗涘懐鐭欓柟瀵稿Л閸嬫挸顫濋鐔哄嚒濡炪値鍓欓敃顏堛€佸▎鎾村仼鐎光偓閳ь剟鎯侀崼銉︹拺闂傚牊鐩悰婊呯磼閹绘帒鈷旀繛鎴犳暬閹瑩顢栭崣銉х泿闂備焦瀵уú鎴犳濮樿泛浼犻柧蹇撳帨閸嬫捇宕归锝囧嚒闁诲孩鐭崡鍐差嚕椤愶箑绠荤紓浣股戝▍銏ゆ⒑鐠恒劌娅愰柟鍑ゆ嫹