Return-Path: Delivered-To: apmail-openjpa-users-archive@minotaur.apache.org Received: (qmail 17640 invoked from network); 19 Mar 2011 12:28:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 19 Mar 2011 12:28:18 -0000 Received: (qmail 9886 invoked by uid 500); 19 Mar 2011 12:28:18 -0000 Delivered-To: apmail-openjpa-users-archive@openjpa.apache.org Received: (qmail 9855 invoked by uid 500); 19 Mar 2011 12:28:17 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 9847 invoked by uid 99); 19 Mar 2011 12:28:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Mar 2011 12:28:17 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of prashant.mr@gmail.com designates 209.85.210.174 as permitted sender) Received: from [209.85.210.174] (HELO mail-iy0-f174.google.com) (209.85.210.174) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Mar 2011 12:28:09 +0000 Received: by iyb26 with SMTP id 26so6086024iyb.33 for ; Sat, 19 Mar 2011 05:27:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=kdGFDgbhZet10rdioGePYq+VR9f3Rv8T1jGSY7WPoEI=; b=Los4XVHH1EKb7cjA/BnP4Le/YiVbtVu6VKmQQoyUc+wNYTBOpcCpLzlOEhuCN/0aIq ZFGNAL5qhHCt8yoJ/+ttBfm4/k4SMB3PCb1POs3ZXBnSiTTHsxYHeGQNixvfR997aQgq XJzReV/qy8YduSLiO4iaxCqQFubADv8Jet93I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=kJktUqhzfbSBcDlyxKA4pV4t6ry7np6bLzO0P8cmhBzBMUnzdhYUn/ESyhQhjGhzbO pI9pvssWbENRmH807U2K8OmvKhdohL7BoyiOVU/Pq/A/1ZHd9TcGzo41hmGpzFC2GkTN KBBULcVorjBKx6xX2z8/MwLrCAvUBBnIxse4o= MIME-Version: 1.0 Received: by 10.231.17.136 with SMTP id s8mr2088013iba.80.1300537667494; Sat, 19 Mar 2011 05:27:47 -0700 (PDT) Received: by 10.231.150.141 with HTTP; Sat, 19 Mar 2011 05:27:47 -0700 (PDT) In-Reply-To: References: Date: Sat, 19 Mar 2011 20:27:47 +0800 Message-ID: Subject: Re: OpenJPA Date Proxy serialization problem when using entities with GWT From: Prashant Bhat To: users@openjpa.apache.org Content-Type: multipart/mixed; boundary=0022152d7e1bb02236049ed50532 X-Virus-Checked: Checked by ClamAV on apache.org --0022152d7e1bb02236049ed50532 Content-Type: multipart/alternative; boundary=0022152d7e1bb0222c049ed50530 --0022152d7e1bb0222c049ed50530 Content-Type: text/plain; charset=ISO-8859-1 Hi, I've created a sample project to explore this issue. Please see the attached sample project. To run this test, execute this maven command: mvn compile openjpa:enhance gwt:compile test The GWT compiler takes long time to compile. Once it is complete, this will start a jetty server and opens URL http://localhost:8080/ in the default browser. Now click on the 'Save Sales Orders' which fails with the following exception. com.google.gwt.user.client.rpc.SerializationException: Type 'org.apache.openjpa.util.java$util$Date$proxy' I really appreciate your help in solving this or any suggestion to use alternate approach, Thanks. Regards, Prashant On Thu, Mar 10, 2011 at 11:26 PM, Michael Dick wrote: > Hi Prashant, > > I've been looking into the Date proxies recently. What I've found is that > the proxies are removed if you serialize the entity or use detachCopy() (in > this case the original entity retains the proxies and the new copy does not > have them). I'm looking into a better solution for this use case, but the > detachment code is pretty tangled, and it might take a little while to work > out a safe option. > > I'm not sure why using a DTO didn't work for you. How did you copy the date > field from your entity? > > -mike > > On Wed, Mar 9, 2011 at 9:13 PM, Prashant Bhat > wrote: > > > Hi All, > > > > We're developing an application using OpenJpa 2.1, Spring-3.0.5 and > > GWT-2.2.0. This integration works for all other types in the entity, but > > fails for fields of type Date with the following exception: > > -- > > com.google.gwt.user.client.rpc.SerializationException: Type > > 'org.apache.openjpa.util.java$util$Date$proxy' was not included in the > set > > of types which can be serialized by this SerializationPolicy or its Class > > object could not be loaded. For security purposes, this type will not be > > serialized.: instance = Sat Dec 31 00:00:00 SGT 2011 > > -- > > I tried using DTO instead of using an entity directly, but when date > > property is copied from Entity object to DTO, the same proxy will be set. > > So > > it doesn't work either. > > > > When searched, I found lot of references to detaching the entity to > remove > > all proxies needed by Jpa. It works, but this needs to be explicitly > > called, > > while the same works without calling this, in our Swing app which gets > the > > serialized objects through Spring Remoting. And also, as there're a lot > of > > DAOs already written, this is going to be major change. > > > > So, is there a openjpa configuration setting to use, so that all proxies > > are > > removed on em.close() ? I really appreciate any help to solve this. > > > > Thanks, > > Prashant > > > --0022152d7e1bb0222c049ed50530 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi,

I've created a sample project to explore this is= sue. Please see the attached sample project.

= To run this test, execute this maven command:=A0mvn compile openjpa:enhance= gwt:compile test

The GWT compiler takes long time to=A0compile. Once it = is complete, this will start a jetty server and=A0opens URL http://localhost:8080/ in the def= ault browser.=A0Now click on the 'Save Sales Orders' which fails wi= th the following exception.

com.google.gwt.user.client.rpc.SerializationException: = Type 'org.apache.openjpa.util.java$util$Date$proxy'

I really appreciate your help in solving this or any sugges= tion to use alternate approach, Thanks.

Regards,
Prashant

On Thu, Mar 10, 2011 at 11:26 PM, = Michael Dick <michael.d.dick@gmail.com> wrote:
Hi Prashant,

I've been looking into the Date proxies recently. What I've found i= s that
the proxies are removed if you serialize the entity or use detachCopy() (in=
this case the original entity retains the proxies and the new copy does not=
have them). I'm looking into a better solution for this use case, but t= he
detachment code is pretty tangled, and it might take a little while to work=
out a safe option.

I'm not sure why using a DTO didn't work for you. How did you copy = the date
field from your entity?

-mike

On Wed, Mar 9, 2011 at 9:13 PM, Prashant Bhat <prashant.mr@gmail.com> wrote:

> Hi All,
>
> We're developing an application using OpenJpa 2.1, Spring-3.0.5 an= d
> GWT-2.2.0. This integration works for all other types in the entity, b= ut
> fails for fields of type Date with the following exception:
> --
> com.google.gwt.user.client.rpc.SerializationException: Type
> 'org.apache.openjpa.util.java$util$Date$proxy' was not include= d in the set
> of types which can be serialized by this SerializationPolicy or its Cl= ass
> object could not be loaded. For security purposes, this type will not = be
> serialized.: instance =3D Sat Dec 31 00:00:00 SGT 2011
> --
> I tried using DTO instead of using an entity directly, but when date > property is copied from Entity object to DTO, the same proxy will be s= et.
> So
> it doesn't work either.
>
> When searched, I found lot of references to detaching the entity to re= move
> all proxies needed by Jpa. It works, but this needs to be explicitly > called,
> while the same works without calling this, in our Swing app which gets= the
> serialized objects through Spring Remoting. And also, as there're = a lot of
> DAOs already written, this is going to be major change.
>
> So, is there a openjpa configuration setting to use, so that all proxi= es
> are
> removed on em.close() ? I really appreciate any help to solve this. >
> Thanks,
> Prashant
>

--0022152d7e1bb0222c049ed50530-- --0022152d7e1bb02236049ed50532 Content-Type: application/zip; name="GwtOpenJpaSpring.zip" Content-Disposition: attachment; filename="GwtOpenJpaSpring.zip" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glghyumi0 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 AAAAAAAAAAAAAAAfAAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9qYXZhL1BLAwQKAwAAAAAo oXM+AAAAAAAAAAAAAAAAJgAAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUv UEsDBAoDAAAAACihcz4AAAAAAAAAAAAAAAA3AAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9q YXZhL3NhbXBsZS9nd3RvcGVuanBhc3ByaW5nL1BLAwQUAwAACAAooXM+6Xnfg5EBAADaAwAATwAA AEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9H d3RPcGVuSnBhU3ByaW5nLmd3dC54bWytkz1v4zAMhvf8Cl4WT1buthvidLjDFdelQ1IUHRmZttXK oiDJTf3vS9tB0u8vVIAlQxaf9yVFL0/uWgu3FKJhV8x/qZ9zIKe5NK4u5hebf/nv+clqtmy57CxB IIct5YmLrN4l9uSuPUYf5HS2moGM5Y88h/+uoWASpIZAcyC4pC1smO2NbMbUVZWCV0ae7zlmYkQY FItMc6tq5tqSEmXVRQrqQqZssZq9LFxShZ1NcHq5Ec1e3MeGKInyFXeg0YFu0NV0FD5whvjhaQm4 gp67MFLQe2s0JikVbHvonJhqySXJXgJf4qDrgd1AGZEVW8u74bg1juJYhO8oxGhVxYSuxFCq9f4l WxytfIKjm8Cy/BkXYYiVL3HEwo36K5MwDikdQedyKsC+sQ7QD43HoLUnbap+qPBwRSA3EnrwbFwC bTFG9X6Rx5j8QUyRRWy9JPW0z5W2Rk6r0106l/0zj+up/xevefKYmih3HyAFdNFiwq2kLD8Zvekp St/pKbzIJtVB5Pm32GCgcjSwXEwFXc3uAVBLAwQKAwAAAAAooXM+AAAAAAAAAAAAAAAAPgAAAEd3 dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9jbGll bnQvUEsDBBQDAAAIACihcz77rWlOIAMAAK4JAABTAAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFp bi9qYXZhL3NhbXBsZS9nd3RvcGVuanBhc3ByaW5nL2NsaWVudC9Hd3RPcGVuSnBhU3ByaW5nLmph dmG9VVFv2jAQfudX3HgKPKQ/oNu0jtF2UysqgrbHydhX4tWxM9uBoan/fWcnJEBAQ5o0P0Dsu/vy 3Xd3Tsn4C1shOFaUCtPVxpsS9Y+SudJKvUq5kqj99WAgi9JYD9wU6cqYVe2bcmOx8Umn2tvtk5Hk foH33bfFOTdcBwdBh43v+Jxn5dDunGzJ0xu31XzClFpSWpcEVTL9WHlv9IXO94vHhwtd58b4J6ZR 7fzPauxyZlGkGVPoZlagJbnLaqkkB66Yc3C38TOK+FKyLEaADEAFvchBpzr8HgCtq/E4/sMYFjlC gc6FAgvpSsW2KMAb8GQIdGGTo4472qxpz5nWxsMSwSLjOXkb26DRia+sdsA0oLXGpo3hKv4TsTXz BOSZJ+LPUjMFmY90s+n863T+fTqfz+bwDoY3DQIYzitLuRMPqRCY91iUnkICyYytEaIoEFVxb4bX g+MU51gYX9OXHImF+bWFZ4IOSa0sYkDbmU8ybqh26me1c+wlcMfHxJ9aN+UWKTbpRaWxYqMe0bpO UMZCFehzIw7ZNAVfG0ma60cjKoUPholk1NQ14l3BhF4cE9YClrF1d9Ymkbqfifga60dirHHTnCfD nqzD0XUL0TZtukKfDDuQidGeSY12OEqZEElnoegT/Cy6SnmihEocEQwz1Nhvg7nmF4+T81T2Ao65 7JmOyNwIATnTQqGt2/5AOGD0qFmBRzS73AL8hMrycl+DJIHo/kFTnW59mK2ptaXA9rRf3AiQxN9p uOogXngtUrci2Tn+rND5hcniiNYSdeu1S7jtuP01hoxAQupNqtYU7S5q1ioT8aMoGyZ9nCIWClUa 7TA9gr3q9t0sxQz7rI916gr0STq2VKfb+UQ5HPqpDgEieWbKYSx3H/WzXpuX/vj3kXvTG961m+mm 3AfflLed8f1BTn/vgdO9cMukqiwmi9yaTZSCs2qVH3ZDP8MsN5v2It7d8W3AZQp6W5GA54L2JzRE xfHcv8jPhL4O/lmTrOKcMtq7XGsyF4lCnbzr2f8gSH0WbqjI81P4JoxSb+oPXzI6K1LvpDfW+5b6 5HXwB1BLAwQUAwAACAAooXM+GI0cCL0AAACYAQAAVAAAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21h aW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9jbGllbnQvU2FsZXNPcmRlclNlcnZpY2Uu amF2YZ2QS04DMQyG9zlF1FW7CQeYDTcAdU4Qkr+pIZNEtjuAEHcnUkuf6qbe2fr+h9x8+PAJVvzU Mlz61NpQ3puXxlSSC5lQdDCGplZZbaiTS7WmPet2Aj4wjltwa0xVMYJnChgeEa2RvdKMV6/bf4O7 7WTrGdGNPkNeOIJ70ee7dsuF7I/yJEfFgVusTNu9ZQqWioI3PsCO15DFl6JEsRcR9scY2+eE974z TutyNdwQGyrxjOihlmJ/COl3p3/NH1BLAwQUAwAACAAooXM+QbIbq6sAAABGAQAAWQAAAEd3dE9w ZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9jbGllbnQv U2FsZXNPcmRlclNlcnZpY2VBc3luYy5qYXZhjY9dCsIwDMffd4o8KkgvMBHEA/iwE3RpVqNdW9Ju MsS7W3Q4fRDMY/4fvyRqvGhLkHQfHSl7zSGSP0edorC3Ch2Tz3VVcR+DZMDQKxuCfXnVkEhmj5KI ap8mjwftXFt66zn0szydtJBRjXaUjmJICicOrWME9pmk00iwqA3JyEhPBtwqKDMGNqV+pMW1+rph uwg7wHm5Lpx3umNvPtIFDGzKP5ynDfzVda8eUEsDBAoDAAAAACihcz4AAAAAAAAAAAAAAAA+AAAA R3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9qYXZhL3NhbXBsZS9nd3RvcGVuanBhc3ByaW5nL3Nl cnZlci9QSwMEFAMAAAgAKKFzPngQx7NwAwAAIwoAAFoAAABHd3RPcGVuSnBhU3ByaW5nL3NyYy9t YWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJpbmcvc2VydmVyL0d3dFJlbW90ZVNlcnZpY2VT ZXJ2bGV0LmphdmGdVVtv2jAUfudXeHkyauuq0p5WVRrrbUjtWvWy7dUkh+DW2JntFNjEf9+xnRAS YGPzA47tc/nOdy4UPH3lORDLp4UEls+cLkC9FNwWRqicWTBvYE57PTEttHEk1VOWa51HWVbiO0ul AOWYKVI2VChQcCdGEh5gqh08ogGRwuU8hcIJrU73tNTS3lcJxQWX4if3nvZzGQOMLu/P/0H0AX6U YN3eGmvxhE1Co6sNMi3H71/Yjc5zMDsfrnjqtFm03mOmxoZPYabNK0u1cjB3bFAUUqSBivN4tZea LQsvw84lt/aeu8n3qdxmqrb1wt/4nNkYEZs4V7DP+FOFuGKpV5QjtEHGQnFJUm+cXM/cNloI2geV WbL18VeP4ELwb9xh3TruVlalVjmxoQa+grGI9nl4Qc7Iyc3pbqVILOr6DYVbRLMcXLygO8CyEEq/ 7WCTLxLpXrEXxCtKdlimfR9rtdxEWNaygVAVzMif00ST28unwdHwy9VxrMWjaOOozvZ8KhNSoV9G VB/vUM6IDNYxPjqvhgHqFKw951LS+oovpOZZHyEaPbNkew+uh2IW4dSsu9ELpI5MuMpkyAGy/gm4 org/TQzw7EanXFa1RPsBb7OaZiTYafXnmb9nGaQ6g1qzwnpYu/LpDQTS/mGguGNZq8HYganUL8BW sUFGG08dHQOuNCo4F+pNv8JAZZcqorCFVhZo5f1wDa5HcgtuojMP5fi4Mdmsjvg9972L8Dz6zlsr CfcaM7ho0bYkWCbphNC/D2zsxn47X75XaDJQZA/lGbexMPBzIiTUFYSVEwhHHFKy5BC97OYRWvRd aexOIUsDVJVSdlSXq1Ju+rEqsFVZbc4n9Bb2tUjrki+NxFoyNbcrleeHIa39NtI2EoAaqIezdGTD PfUnLDQ3VBnM78Y0OU765ICcrFkQY0LjFGLCXsCozC8VR2axIroJqMQyL0STx8rnWBvy/HBDEjTs UR/gl7D+WMNq8dTpvhEyg7A9pae7e7USa48zVhPbddME9o4GRaFw9qoU9Lg93JsImxXrJgy5oZSQ czkweTnF//pVeWHsAUdA5WNV2hFOrr89tc1/IMmqpzZXw0+gjCJhwaA/9ZMqmDZv/5Gzzbx5ynzS au/rmaqTV2Ppotjs5I2G3fSLY10bmiQbLdPuueCw/ktY9n4DUEsDBBQDAAAIACihcz5VTauDegAA AM8AAABQAAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9qYXZhL3NhbXBsZS9nd3RvcGVuanBh c3ByaW5nL3NlcnZlci9TYWxlc09yZGVyRGFvLmphdmF1jLEOAjEMQ/d+RUZY+gO3sjPwBaHNlUCv jdJwCCH+nYqlSOi82X62YLhhImi4SCafHlaFylWwiXJJvpGupJNzvEhV2+YuqBT9CTO1o8bvRO7n zAG4GOmMgWC0B6zwcg66RtjPVxp2t5/+iJlL/CH6NXCkYmzPTr/dB1BLAwQUAwAACAAooXM+U867 D04BAABXAwAAVAAAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3Bl bmpwYXNwcmluZy9zZXJ2ZXIvU2FsZXNPcmRlckRhb0ltcGwuamF2YY2SwW7CMAyG732KaKciTXkB NAlp7LDDxCT2Al5rukCbRI4poIl3n5tS0jIxLScn+W1/fxwPxQ4qVAEaX6OuDuw82q2H4MnYSgek FmmeZabxjlg5krN4tSFo8OBopwMjoeOTR70WuSlw/pecCWyAgo2zGqx1DDH8SMdQDwXuc30BYanX UGNYUTlG3EILR+2RghEyW6B+sWz49AYWKhHe172n+NlZxiNPxHrPptZLYJRmiwlvtrg4zx/CFWkJ 7mGW+f1nbQq1MSJTRQ0hqPVY8ioGlelcNmj55lJ9Z0rW4jdZPJe3aAVHTQwqnNrtK6xkjGRKjLsL U2ol79xi2uazrnG/JqoUPimLBzVOmV8zkkz+D8ege7W8y4jBLImntMM48lRiJCXkPdlR+f7q/D+L MoFyxNsPxFhWkhIZBtOp1Q1cVyFPJXSc5mPKH3DO2Q9QSwMEFAMAAAgAKKFzPkUXYirxAAAAYgIA AFgAAABHd3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJp bmcvc2VydmVyL1NhbGVzT3JkZXJTZXJ2aWNlSW1wbC5qYXZhjZAxcsIwEEV7nUJDBY0u4IYiDRUF J9jIi7NGljSrxYTJcPcsxgHHSSao8az13/43yuAP0KAt0OWArjlJyhjbDCUzxcYV5B65Moa6nFhs Yv03XO0ZOjwlPrgiyJjknNHtNE4eqzH+51ofCKO4HQQsW66RnwXLGzDWd3Cq1kIP745ii17cZvjo 5XrcvFyUedliZfLxNZC3PkAp9ofNRh0sXUU6tf0lYD+M1bO+tVlV7EFwknuBZMt0qsyN2OqrMtU4 TKPFA1Omx8e4XF2LxsMoR47ft7p5vhril+fK9hTrCUxRrIajkJz/LZ6xX9xd4GI+AVBLAwQUAwAA CAAooXM+p2+M8nQCAAB0BwAAVAAAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1w bGUvZ3d0b3BlbmpwYXNwcmluZy9zZXJ2ZXIvU2FtcGxlSmV0dHlTZXJ2ZXIuamF2Ya1VPW/bMBTc /SsITVRgUBk6BAm6NB9NiqINLBQdig60/CzRoUWBfLZsFPnvJUU6kiwr7lANlkQd7473HumKZy88 B2L4upLA8hpVBeWq4qbSosyZAb0FfTOZiHWlNBKlcwaZFJUBtgLEfUCw1APP4gpeLqS936oSYYeP /vVWSQkZClWeYZCA7A6WfCMx9a//MCEgu5JnrXbmPSq5OMIbufywYl9Vnr/z4YFnqPS+DW/Ft5zx GtnFTW9IKPYgJPQHS2vgx+zJzq42cykykkluDEmbQn1xPn3k5M+E2MuWa8vRFhI5WvBSlFwS74NI f/tIer5YDugH6ICUNWKxFe9yb5VYOAGNNHay4Qo+mux+wty9Nmol1OEbvbq8urRshxljxSdZ74Px JKNw2qH8XOMM1grBKYoMQu1IfnrcM4/N6hKfbB5LezTiCU+j6dGypiRJAn97RUk0PT2dpfdp+vT9 W9q6Guozvlgc3Acjbe/SkRTiqZU93vOJ8RiTXEQdRdT7UPO3ZNDBiQajNtriP3EDzxyLEIVraZrb xbhWorFrt1mA0iipYZ6IcgE7VuBaRjFDZbudxg3umWso36owvmbTUjpxOrBylqGTWv9Y8TvA5tNP 4ZVkHLOC0PtdBlXTs7CL+8GE/cZAa6Vp1NxIXdg4XH8vRb5xuTkzJJw00dSydFUOT71N1Sx4rKfG KzVkcVt4kO4dmBfbCC7+8GhrNteqNtA0lKtOVCBW10kiVcZloQxeu40dxZbqHbmVEiX9fxk27m2A Xob4/5Vhgv63ufkDNByN/hRbc+vJN/Cv34Tr3HQMDA9Zr9U92YaY7hJbeJt2cPQ6+QtQSwMECgMA AAAAKKFzPgAAAAAAAAAAAAAAAD4AAABHd3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL2phdmEvc2Ft cGxlL2d3dG9wZW5qcGFzcHJpbmcvc2hhcmVkL1BLAwQUAwAACAAooXM+h62qeugBAACrBAAATQAA AEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9z aGFyZWQvU2FsZXNPcmRlci5qYXZhfVNNj9owEL3nV0w5JT1Y7ZlGooJVhbRSDkv3upokQzB17NR2 0m53+e+18w2h9QESv3lv3gyPCrMfWBAYLCtBrPhlVUXyXKGpNJcFMyfUlK+DgJeV0hbO2OBvVpE2 3FiSGbGP6znGuGJPpDkK/gdTQddgbblgO7TuOtg8SMvta7A5+LpQYkkQw8qgIPOidE56FQVVnQqe QSbQGHjyUOIR4N5tSdK621k3eAvAHWe9cU3AWLSOfeQSBQglCzBt8bO3r+T3/c51/Py4bkmbfd59 fyNJ2tHzZxQ1zQU7De7W0VX2OsuSpgOGugP5HaAIh4fDa0Vs9/XwEHUFWyXqUo47aKd/yZ3cKroS 3/mPFvVPg3zi2mmed1b7jaVKCUIJ9LNGYcIkPVNmQaXnyO+oP/wIobuCOAZZCwHv7/DBvbOC7NZv PIxYz59uok5gOppsrSUcXRmtR+QC5N59B8/d52EEX2L49A+yqV2ihl7e5EwouKnt5bzpMJwiEbXD sQ7t+Zf/LIhLCyc0p63Kyam93bZ5dL8ja3wCkuMwQsQGxtRh1LwOWs9Y6toTN4znI/2W3Sieg2nZ fdqo/Z/MpAYNiEf0jpvRR5/SO2bGnC7ZbdQ8OxnSdo8/RXGpME4yKVzHdzHRiEC8VL4EfwFQSwME CgMAAAAAKKFzPgAAAAAAAAAAAAAAACQAAABHd3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL3Jlc291 cmNlcy9QSwMECgMAAAAAKKFzPgAAAAAAAAAAAAAAAC0AAABHd3RPcGVuSnBhU3ByaW5nL3NyYy9t YWluL3Jlc291cmNlcy9NRVRBLUlORi9QSwMEFAMAAAgAKKFzPkX/vSPlAAAAzwEAADwAAABHd3RP cGVuSnBhU3ByaW5nL3NyYy9tYWluL3Jlc291cmNlcy9NRVRBLUlORi9wZXJzaXN0ZW5jZS54bWyN kD1vwyAQhnf/CsRucNylsmyydUrVIa3ULTphZBOZD3Ek+OeXOFHqNkuY0N3zvHe6djubiZxVQO1s RzesokRZ6Xpth45+fb6Vr5RsRdH6C4Ix99QvXl/wHGCxo2OMvuH8CGdgeLJMOsNzi1vkK5cWZPWu bjOjvvspJZZemAsDr6tqw7/fd3s5KgOlthjhMSLLDS7EzkmIea9nd7nnPIev/4f6ULEZeyqWkPV1 ypPVkVgwqqMIxk/qBi2gnABRXOtsSNF5ZY8e0Id8cIYjBNWzPUwKP0KvQssX4TaF/x8jij81UfwA UEsDBBQDAAAIACihcz6V1E1aVgIAAEgHAABGAAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9y ZXNvdXJjZXMvTUVUQS1JTkYvc2VydmVyLXNwcmluZy1jb250ZXh0LnhtbJVUTY/aMBC98yui3OOw 9FJFwKos3UO1tJXYVr0OjiFeEtuyDUn663fifPCNQm5x3sx78/wy4+ciS70904ZLMfGfyND3mKAy 5mIz8f+8vwZf/efpYLxiIIyHWGEmfmKtisIwz3NilEbkWkPGcqm3ROpNaGjCMghdiV/XRIXhJ3X5 FwcdDYdP4b/F29KVBFwYC4Iyf+C5pymmUlhW2L7EDbyltkXfQlt0xKg3qk/fJAWL5vRtUjv1ADas AYF7IYWJKw09GzSjPoZuCZvXmrJ5+lPbojewJbRFxeVPB47OZcrj8cSPwcJS7jRevEdTMBgxrCeg ADsQKrNMojPxiioyA8Pp/AgfM2O1LIOM2URiL5pKw5CiHWastFRM29ITqA25NMe0v1QsP/HA9/aQ 7lhNmIzI3H32w9sNdjrtij5QU5SMooxlkUUhd+sM0+KY0cA9uEKB6GTcwVvw2KXmwkMmLLflAgRs mH4FaqUuT9y8vKGMfCggVb7TF4wCcMH09yttZshx09HT29NsfXxwb0Dk/stELPW3GJRFzw/QbrI+ +veuCfmlmPhx1vKEPmz570r63ZwsQJ0LykB1J4dT9F2X3paVqBIlVIqqVJD5bM5ptTdAl90dJiPf Cx9osiwFTbQU/D9DQQrnN12v1Y6ncb03u6aHYZ3Yy9nvRshqXEDgRDcB6BUgdP39svKWy9eT6pJz /dP13De7KwIhpHX7uVpna74JW4Qtjj+6316E5+W4W5QUSBsYii6swLAAt84W+asfNFMpI5vcNpdS O0DwR8Yd4UyvRZnp4BNQSwMEFAMAAAgAKKFzPkdEM4z1AAAAqQEAAC8AAABHd3RPcGVuSnBhU3By aW5nL3NyYy9tYWluL3Jlc291cmNlcy9sb2diYWNrLnhtbF1QsW6DMBDd8xVXSx5j2q0DkKJUkbq0 SzohBhcOB8X46Jmm/fwaE5Ioljzcu3vv3b1089dbOCH7jlwmntSjAHQ1NZ0zmfjc79bPAjb5Kq3J tZ35YT2GwXwF4aV6GNA1yOB0j5CBCEOeLAqorfY+Igf1TV5ZMl+6PqqaGNV2nirObDGrRcXJOkAz ckEHPY7ILk8fyu1rsS9KafGEFko5Hhh1U4EMBgb5RdrOIaxB9t5IV1V5mizkq0lycZnLeEasZyBq XY8iNsoPHAJpOUC/xEcBcYGp+/a++xDJQmWi8a53Y7wYrRlbCP82smTZZpIIeSd3gf8DUEsDBAoD AAAAACihcz4AAAAAAAAAAAAAAAAoAAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9yZXNvdXJj ZXMvd2ViL1BLAwQUAwAACAAooXM+Wf7wqkcBAACGAgAAMgAAAEd3dE9wZW5KcGFTcHJpbmcvc3Jj L21haW4vcmVzb3VyY2VzL3dlYi9pbmRleC5odG1slVJdT8IwFH3nV9S+j4r6YOK2RAb4ERQSRoiP l63ZSkpX2zuEf2+3LsNoYrQv7f04595zb8OLySJJ35ZT8pi+zMlyPZ4/JYQGjG2uE8Ym6cQHboaX I5IaUFagqBRIxqavNB6EJe5lc3HI4wFxJ9xzBFIi6oC/1+IQ0axSyBUGeNKcks6KKPIjsgZ+R7IS jOUYrdNZcEs7HhQoebyCvZacPGxSstBcPS/vyUoboQoyPbahkLWJHchmRmgkTamuwg4O4L2USFBF DYULffVak0W0+MDK8e802JaefXcMVZVBVvLhztI4ZB7slDMvPdxW+cldCFvXLkhRKKecO62mF2T8 wxvduHpHOfqLVpd15mANSfcyTStt8X81QUQeUQsHPq4RK5W45YBQLp2dmX9BGm5riTPBZd5DmxVL q8GVvvI0Pxtk3bSY/z6fUEsDBAoDAAAAAGGhcz4AAAAAAAAAAAAAAAAYAAAAR3d0T3BlbkpwYVNw cmluZy90YXJnZXQvUEsBAhQDCgMAAAAAaqFzPgAAAAAAAAAAAAAAABEAAAAAAAAAAAAQgO1BAAAA AEd3dE9wZW5KcGFTcHJpbmcvUEsBAhQDFAMAAAgAKKFzPrJX1FAkAwAAuhAAACUAAAAAAAAAAAAg gKSBLwAAAEd3dE9wZW5KcGFTcHJpbmcvR3d0T3BlbkpwYVNwcmluZy5pbWxQSwECFAMUAwAACAAo oXM+fLvMOJQNAABWfAAAJQAAAAAAAAAAACCApIGWAwAAR3d0T3BlbkpwYVNwcmluZy9Hd3RPcGVu SnBhU3ByaW5nLmlwclBLAQIUAxQDAAAIACihcz6JCn0kNAEAAOkBAAAbAAAAAAAAAAAAIICkgW0R AABHd3RPcGVuSnBhU3ByaW5nL1JFQURNRS50eHRQSwECFAMUAwAACAAooXM+CXrmRWYFAACdKgAA GAAAAAAAAAAAACCApIHaEgAAR3d0T3BlbkpwYVNwcmluZy9wb20ueG1sUEsBAhQDCgMAAAAAKKFz PgAAAAAAAAAAAAAAABUAAAAAAAAAAAAQgO1BdhgAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL1BLAQIU AwoDAAAAACihcz4AAAAAAAAAAAAAAAAaAAAAAAAAAAAAEIDtQakYAABHd3RPcGVuSnBhU3ByaW5n L3NyYy9tYWluL1BLAQIUAwoDAAAAACihcz4AAAAAAAAAAAAAAAAfAAAAAAAAAAAAEIDtQeEYAABH d3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL2phdmEvUEsBAhQDCgMAAAAAKKFzPgAAAAAAAAAAAAAA ACYAAAAAAAAAAAAQgO1BHhkAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUv UEsBAhQDCgMAAAAAKKFzPgAAAAAAAAAAAAAAADcAAAAAAAAAAAAQgO1BYhkAAEd3dE9wZW5KcGFT cHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9QSwECFAMUAwAACAAo oXM+6Xnfg5EBAADaAwAATwAAAAAAAAAAACCApIG3GQAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFp bi9qYXZhL3NhbXBsZS9nd3RvcGVuanBhc3ByaW5nL0d3dE9wZW5KcGFTcHJpbmcuZ3d0LnhtbFBL AQIUAwoDAAAAACihcz4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAEIDtQbUbAABHd3RPcGVuSnBhU3By aW5nL3NyYy9tYWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJpbmcvY2xpZW50L1BLAQIUAxQD AAAIACihcz77rWlOIAMAAK4JAABTAAAAAAAAAAAAIICkgREcAABHd3RPcGVuSnBhU3ByaW5nL3Ny Yy9tYWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJpbmcvY2xpZW50L0d3dE9wZW5KcGFTcHJp bmcuamF2YVBLAQIUAxQDAAAIACihcz4YjRwIvQAAAJgBAABUAAAAAAAAAAAAIICkgaIfAABHd3RP cGVuSnBhU3ByaW5nL3NyYy9tYWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJpbmcvY2xpZW50 L1NhbGVzT3JkZXJTZXJ2aWNlLmphdmFQSwECFAMUAwAACAAooXM+QbIbq6sAAABGAQAAWQAAAAAA AAAAACCApIHRIAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9qYXZhL3NhbXBsZS9nd3RvcGVu anBhc3ByaW5nL2NsaWVudC9TYWxlc09yZGVyU2VydmljZUFzeW5jLmphdmFQSwECFAMKAwAAAAAo oXM+AAAAAAAAAAAAAAAAPgAAAAAAAAAAABCA7UHzIQAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFp bi9qYXZhL3NhbXBsZS9nd3RvcGVuanBhc3ByaW5nL3NlcnZlci9QSwECFAMUAwAACAAooXM+eBDH s3ADAAAjCgAAWgAAAAAAAAAAACCApIFPIgAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9qYXZh L3NhbXBsZS9nd3RvcGVuanBhc3ByaW5nL3NlcnZlci9Hd3RSZW1vdGVTZXJ2aWNlU2VydmxldC5q YXZhUEsBAhQDFAMAAAgAKKFzPlVNq4N6AAAAzwAAAFAAAAAAAAAAAAAggKSBNyYAAEd3dE9wZW5K cGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9zZXJ2ZXIvU2Fs ZXNPcmRlckRhby5qYXZhUEsBAhQDFAMAAAgAKKFzPlPOuw9OAQAAVwMAAFQAAAAAAAAAAAAggKSB HycAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmlu Zy9zZXJ2ZXIvU2FsZXNPcmRlckRhb0ltcGwuamF2YVBLAQIUAxQDAAAIACihcz5FF2Iq8QAAAGIC AABYAAAAAAAAAAAAIICkgd8oAABHd3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL2phdmEvc2FtcGxl L2d3dG9wZW5qcGFzcHJpbmcvc2VydmVyL1NhbGVzT3JkZXJTZXJ2aWNlSW1wbC5qYXZhUEsBAhQD FAMAAAgAKKFzPqdvjPJ0AgAAdAcAAFQAAAAAAAAAAAAggKSBRioAAEd3dE9wZW5KcGFTcHJpbmcv c3JjL21haW4vamF2YS9zYW1wbGUvZ3d0b3BlbmpwYXNwcmluZy9zZXJ2ZXIvU2FtcGxlSmV0dHlT ZXJ2ZXIuamF2YVBLAQIUAwoDAAAAACihcz4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAEIDtQSwtAABH d3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJpbmcvc2hh cmVkL1BLAQIUAxQDAAAIACihcz6Hrap66AEAAKsEAABNAAAAAAAAAAAAIICkgYgtAABHd3RPcGVu SnBhU3ByaW5nL3NyYy9tYWluL2phdmEvc2FtcGxlL2d3dG9wZW5qcGFzcHJpbmcvc2hhcmVkL1Nh bGVzT3JkZXIuamF2YVBLAQIUAwoDAAAAACihcz4AAAAAAAAAAAAAAAAkAAAAAAAAAAAAEIDtQdsv AABHd3RPcGVuSnBhU3ByaW5nL3NyYy9tYWluL3Jlc291cmNlcy9QSwECFAMKAwAAAAAooXM+AAAA AAAAAAAAAAAALQAAAAAAAAAAABCA7UEdMAAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9yZXNv dXJjZXMvTUVUQS1JTkYvUEsBAhQDFAMAAAgAKKFzPkX/vSPlAAAAzwEAADwAAAAAAAAAAAAggKSB aDAAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vcmVzb3VyY2VzL01FVEEtSU5GL3BlcnNpc3Rl bmNlLnhtbFBLAQIUAxQDAAAIACihcz6V1E1aVgIAAEgHAABGAAAAAAAAAAAAIICkgacxAABHd3RP cGVuSnBhU3ByaW5nL3NyYy9tYWluL3Jlc291cmNlcy9NRVRBLUlORi9zZXJ2ZXItc3ByaW5nLWNv bnRleHQueG1sUEsBAhQDFAMAAAgAKKFzPkdEM4z1AAAAqQEAAC8AAAAAAAAAAAAggKSBYTQAAEd3 dE9wZW5KcGFTcHJpbmcvc3JjL21haW4vcmVzb3VyY2VzL2xvZ2JhY2sueG1sUEsBAhQDCgMAAAAA KKFzPgAAAAAAAAAAAAAAACgAAAAAAAAAAAAQgO1BozUAAEd3dE9wZW5KcGFTcHJpbmcvc3JjL21h aW4vcmVzb3VyY2VzL3dlYi9QSwECFAMUAwAACAAooXM+Wf7wqkcBAACGAgAAMgAAAAAAAAAAACCA pIHpNQAAR3d0T3BlbkpwYVNwcmluZy9zcmMvbWFpbi9yZXNvdXJjZXMvd2ViL2luZGV4Lmh0bWxQ SwECFAMKAwAAAABhoXM+AAAAAAAAAAAAAAAAGAAAAAAAAAAAABCA7UGANwAAR3d0T3BlbkpwYVNw cmluZy90YXJnZXQvUEsFBgAAAAAfAB8APwwAALY3AAAAAA== --0022152d7e1bb02236049ed50532--