From user-return-34502-apmail-cassandra-user-archive=cassandra.apache.org@cassandra.apache.org Fri Jun 7 06:22:23 2013 Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 861441090D for ; Fri, 7 Jun 2013 06:22:23 +0000 (UTC) Received: (qmail 12762 invoked by uid 500); 7 Jun 2013 06:22:20 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 12741 invoked by uid 500); 7 Jun 2013 06:22:20 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 12733 invoked by uid 99); 7 Jun 2013 06:22:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Jun 2013 06:22:20 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of Viktor.Jevdokimov@adform.com designates 86.58.139.11 as permitted sender) Received: from [86.58.139.11] (HELO mail1.adform.com) (86.58.139.11) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Jun 2013 06:22:13 +0000 Received: from dkexc002.adform.com ([10.0.19.5]) by mail1.adform.com with XWall v3.49 ; Fri, 7 Jun 2013 09:21:52 +0300 Received: from DKEXC001.adform.com (10.0.8.3) by DKEXC002.adform.com (10.0.19.5) with Microsoft SMTP Server (TLS) id 14.2.283.3; Fri, 7 Jun 2013 09:21:51 +0300 Received: from DKEXC002.adform.com ([fe80::a869:727c:285c:fd3]) by DKEXC001.adform.com ([fe80::6d0c:ccd8:b690:688a%18]) with mapi id 14.02.0247.003; Fri, 7 Jun 2013 09:21:50 +0300 From: Viktor Jevdokimov To: "user@cassandra.apache.org" , "Emalayan Vairavanathan" Subject: RE: [Cassandra] Conflict resolution in Cassandra Thread-Topic: [Cassandra] Conflict resolution in Cassandra Thread-Index: AQHOYuL+Xqc34MPcFkWKsa21W7Ds45kpx6Wg Date: Fri, 7 Jun 2013 06:21:50 +0000 Message-ID: <2C85E14562B39345BCCAD90B8E7955C92B57E5@DKEXC002.adform.com> References: <1370542999.95424.YahooMailNeo@web162002.mail.bf1.yahoo.com> In-Reply-To: <1370542999.95424.YahooMailNeo@web162002.mail.bf1.yahoo.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.0.25.108] Content-Type: multipart/related; boundary="_005_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_"; type="multipart/alternative" MIME-Version: 1.0 X-XWALL-BCKS: auto X-Virus-Checked: Checked by ClamAV on apache.org --_005_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_ Content-Type: multipart/alternative; boundary="_000_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_" --_000_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Define a conflict. What kind of conflict you are talking about? There're no transactions. For simple inserts/updates latest column timestam= p wins. Timestamp is provided by application. Counter columns has some conflict resolution, but overall counter columns n= ot working perfect. From: Emalayan Vairavanathan [mailto:svemalayan@yahoo.com] Sent: Thursday, June 6, 2013 9:23 PM To: user@cassandra.apache.org Subject: [Cassandra] Conflict resolution in Cassandra Hi All, Can someone tell me about the conflict resolution mechanisms provided by Ca= ssandra? More specifically does Cassandra provides a way to define application speci= fic conflict resolution mechanisms (per row basis / column basis)? or Does it automatically manage the conflicts based on some synchronization al= gorithms ? Thank you Emalayan Best regards / Pagarbiai Viktor Jevdokimov Senior Developer Email: Viktor.Jevdokimov@adform.com Phone: +370 5 212 3063, Fax +370 5 261 0453 J. Jasinskio 16C, LT-01112 Vilnius, Lithuania Follow us on Twitter: @adforminsider Take a ride with Adform's Rich Media Suite [Adform News] [Adform awarded the Best Employer 2012] Disclaimer: The information contained in this message and attachments is in= tended solely for the attention and use of the named addressee and may be c= onfidential. If you are not the intended recipient, you are reminded that t= he information remains the property of the sender. You must not use, disclo= se, distribute, copy, print or rely on this e-mail. If you have received th= is message in error, please contact the sender immediately and irrevocably = delete this message and any copies. --_000_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

De= fine a conflict. What kind  of con= flict you are talking about?

 

Th= ere’re no transactions. For simple inserts/updates latest column timestamp wins. = Timestamp is provided by application.

 

Co= unter columns has some conflict resolution, but overall counter columns not work= ing perfect.

 

 

 

 

From: Emalayan Vairavanathan [mailto:svemalayan@yahoo.com]
Sent: Thursday, June 6, 2013 9:23 PM
To: user@cassandra.apache.org
Subject: [Cassandra] Conflict resolution in Cassandra

&nbs= p;

Hi All,

 

Can = someone tell me about the conflict resolution mechanisms provided by Cassan= dra?

 

More= specifically does Cassandra provides a way to define application specific = conflict resolution mechanisms (per row basis  / column basis)? 

&nbs= p;          or 

Does= it automatically manage the conflicts based on some synchronization algori= thms ?

 

 

Than= k you

Emal= ayan

 

 

Best regards / Pagarbiai
Viktor Jevdokimov
Senior Developer

Phone: +370 5 212 3063, Fax +370 5 261 0453
J. Jasinskio 16C, LT-01112 Vilnius, Lithuania
Follow us on Twitter: @adforminsider
Take a ride with Adform's Rich Media Suite

Disclaimer: The information contained in this message and attachments is in= tended solely for the attention and use of the named addressee and may be c= onfidential. If you are not the intended recipient, you are reminded that t= he information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely= on this e-mail. If you have received this message in error, please contact= the sender immediately and irrevocably delete this message and any copies.

--_000_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_-- --_005_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_ Content-Type: image/png; name="signature-logo23ee.png" Content-Description: signature-logo23ee.png Content-Disposition: inline; filename="signature-logo23ee.png"; size=5074; creation-date="Fri, 07 Jun 2013 06:21:51 GMT"; modification-date="Fri, 07 Jun 2013 06:21:51 GMT" Content-ID: Content-Transfer-Encoding: base64 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 gg== --_005_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_ Content-Type: image/png; name="signature-best-employer-logo2bda.png" Content-Description: signature-best-employer-logo2bda.png Content-Disposition: inline; filename="signature-best-employer-logo2bda.png"; size=6050; creation-date="Fri, 07 Jun 2013 06:21:51 GMT"; modification-date="Fri, 07 Jun 2013 06:21:51 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAI0AAAAsCAYAAABYHjvuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAK T2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AU kSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXX Pues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgAB eNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAt AGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3 AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dX Lh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+ 5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk 5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd 0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA 4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzA BhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/ph CJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5 h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+ Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQ AkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+Io UspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdp r+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZ D5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61Mb U2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY /R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllir SKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79u p+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6Vh lWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1 mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lO k06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7Ry FDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3I veRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+B Z7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/ 0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5q PNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIs OpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5 hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQ rAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9 rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1d T1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aX Dm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7 vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3S PVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKa RptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO 32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21 e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfV P1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i /suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8 IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq YAAAOpgAABdvkl/FRgAADM1JREFUeNrsm3t0FdW9xz9zHsmBJEQJYAWqPERBQQRnGPSipoJULcIi +GoQpQraCgEsvqUtGvABFwEVIlB5lJhCC0RrxIUoIqDNMAOivKKiPIUgNCQcEpLM6/5x9qGHcBIC 3tt1kzXftc4689j7t/f89nd/f7+9zxzJdV08eDgX+DwXePBI48EjjQePNB480njwSOPBg0caDx5p PHik8eCRxoNHGg8ePNJ48EjjwSONhwaDAIAkSXUWsr96IAUYAgwArgfpYqQASAngCwJSOH9NcfHc ZXubV1Q6u03LKT9Luw8DIwr1jU/Gu9lb6TUUeEKcVgH7gSmaoW881wdUZaUt0FYz9MJ4r4H0Vnr1 AjLjVH1LM/St5+tYVVaaA6M1Q3/h/2Lg4j2LJEmosnJpZIw4AXykGfpJ0Z8LgFvF9Q80Q7dr9HeA ZugFMedpQDogAWs1Qz8abTNQV8eszfclAU+7lp0FpCIlIAXSIHAh+BJASkDyJYAvmJIx4NqU1RtX sGXHgbRQKMSVV11JOBw+zV7psVKOHDkC8GsgC3iylqZbAseAx4Ak4CZgpSorbTVDrzxH/z4O7AEK a7l/pZgMb9S4XvETx7UZ8CDwwn9KAVRZuQFYDiwCOgCTVFnpJXxoAO8DVwAPAHfF1HsYmCMIgior bQAd+AfgAK+psnIdsLdO0ljavX0wrTzg5yAh+VLB3wzsILgm+CTCJ02mLlqP3K0tA/t2I2fiEO4Z 9xf2HTzGbx56iJ49e55m829LlzJz+gyAmZqhP38WH5Rphr5FPIQGTAQuAIpVWbkRGAs0BRZrhp6n yopPEKSvINw0IAz0B06osrID+LCWtg5ohj6jFpXqCTQBrgZWCOW7G/gGeBtoIUjtA7oDqzRDXxfH 1q+A64AfxKACjATe0AzdFv0fDcwGUsXANgfe1QxdV2WlGXCHqHcR8Gqc5xgOvBh9FlVWtgvV6QGs 0ww9S5WVAPC9KitdNUPfpspKHtCxhp2BwMeaof9W2EkGMoDptZLG2nDXg5j2XMAPEkhJuD4fONUR 1/gkJL/Ehk2H+KhwD5t3FjPwps64fokh/bszfeFa8nJzzyDNOaKzKisTgSCgAPM1Qy9WZaWLmE3D gCPA26qshMWgDQbuF45aDMjAF8BB8V0bLlBlJb3GtQ3AZcBS4C3gMLBGzNjlwCTgOLBPtJUPFIj+ /A7YFkOYZ4F7xUD/EhgK3ChIs1OQua8oM1+o4jtAEfB3VVZGAt8C84D1og9nQDP0h2LaTAEuBv4l /LBBlLFUWflSEGmbaGcFYMbYyQFyhB0JuBz4uNZE2FybMTx8wnyr7Ljpd00bt0rCrbZxzWpc0wTT BMvENU2u7dScrh3TyPjF5WCZrN/4HTMWraXLlV14ZerU/7XwDZQA/YVsDgG2AqGICvIZcA9QKqR3 uHB2F83QTwhi/aAZ+pE62mgnlCz2ExL3DmuGPloz9GwRsp7TDH22IEg3UaYcGK4Zeh7wvCBDLMYD wzRDXyjyp7ZCdRYKAgHcJ84HCaWcJQbqTWCUKNMEuFMz9OfOEqZCguzvaIb+FZAs/BNFCZAmCPI3 zdCtWuxIwJSIeLDktET4FGFWD+qFac9btbGcme+V8frIVnT7OUh+kGzAL2E6DuPmbuXFEVfTslky cx7vA/4gO3YV88zMD2nV6iJmv/kmfr//p5KlSDP0iTEP8A/h2AuBROAacWu/KPupKisDRb6UL8LY 9fVsa4tm6OlxnIYIJ8Qk5cVRQRYqCLBPM/RqcbwbaF3D8c2B78Uguaqs7BNhLRfYqcpKS+B2YIwg 3CWCQFF8ExOyw2chTBrwrlCmKHmrRV4TRbJQybrsJIg8pxPQTzP0qjOUpvqDOxJdy8l1LSdwpNTC ccGsssGyoboa16wGs5oHpm1jy3dl3JtdSEV5BVgmxT+W8ejLq0lOTmFx3tskJCTEzfZDodD5JnjN ROdLgC+BBCBbkCoMpKqychfwX5qhjxJOby+SweoY1TgfmPUo006VlSbiuKsYsKjUu8AhkXCjykpQ hL3dmqEXi3AzE1itGXqZCKX7NUNPF0T+A/BJPf2UBqwV6vtgzArpa+GPKC6LIWI8OwFgmVCj/qJf nKk0lj1aDAzNEsVU319Fz7YBXBwkRyLrrYPs/bGSwRmDyV+RT+bkQuaP7839L36Gg4/cvDySkpLO 6MT+/fuZ8vIrZA7NPJfB6q/Kyh5x/DNgpcgdHKEmW8T9q0Sy6wDTVFnpI2a2JsJUEfDfqqwcEzMn HrqqsvJOjWtLYlTlbEgB8lVZKRTbCQNq3M8GlqqyMg/4BaCLsIFQlOXAbeI8H3hSlZVlwGahPr+t Zz9migl1CBgrlPI9kbB/rMrKJqCzEIvP67AzTiy3nwceFnYKoyvQAEB1/i+DWPb4aI2bLktg9upy /vrPCu7q2YSAD17IL+WLPZWMysoic2gmN/frR9ajoxj0p3U4rkve0iWktUg7o/WSkhLu+3UmlmWx bWu9tz3miwQtOtN/1Aw9dsbfpsrK5UJyt0dDg7jWGajUDL0oakuVlXVCpeJhDTAiXngEjgITauwv /RjdxxF9C4kQNknkONdphr5XlZWmojyaoeeosrIR6C2S4VUxNr8EDgCrRdmTYnk7UITidM3Qi4S9 oWfxmw7sEqvMKIKaoe9QZeVusUgoA27RDN2pUTd2NbtP9DMl5toptZZc16V62S2/EoldJJTYPh7J DVNUbBEKSnRs4Wf7IYu7772HsePGnbJS8F4BL02ezKycHK7pcc0ZT1BRUcGdGRlUnaxAvqodGzaf Uu0LNUMv/f/wn6uzbWzWIyRcIxLOdudRd7DIO9Zphv7yT93c+8/+jGA5t2M5RD+u6fLGncl0ax2g 0nTZfsiib7++jBk79rTKA+4YQN7SJXEJY5omw4fdT3k4zIKJmUx9bAi9u3dsjLvqxcCM86ybKiT/ 1Yb0wJLrulTlpm8W63ahNJFFwee7LZ5bWc6118pMf20mPl/9fqpyHIeHR4zg66IiZo0fQPfOl0Ig Eckf4pE/zHa/2n2shWboJd6/OxsmokrTMVZpsF12HrSYsLKc9u07MG3G9HoTxnVdnn36GYp27CT7 wT5c3b4F2BbYFq5j8cbvrpfSO/rLPNc3eNLYzbDE8tqy2VtiMebdclq2uog/L5hPIBCot8FpU6ey ft06fp/RnfSrLgbbPEUabAtf1XGe7+fzJKahk8a1nFOfYyccHlleQTCxKX/JXUxiYmLc8BMPC+cv IH9FfmS9uvZbjh47EVEY28S1TbBNnPBhXMvxPN/glca2j2PbnKyyeWCZjUWAvKVLSE5JiUuYsVlj 2LRp02nXV77/PvPmzqX7Jc1ofWGIH0oquH/aR7gxKoNt4ZQVg217StMIcprvHMtheD6UVcGixYtp 2bJl3HzljxMmsHnTJsaMGs2+ffsAMHSDydmT6NqmKa8PvYKlWTJdL0mlrLyav3/6Na4lcpqqcigv O9lktO6RpsGHJ9v558gCicPlMCsnh3bt4285TJ/2Kp+s+YSBl/tpEoRhmUNZWVDA2Kws2qQGef2e dmBZuJbFhEGdAfh060GwTVzLwtq1Hte2N3pubwSkmfOFdOC7UonsyZPi7rkALFq4kOXLlnFrBx+P yQHm3ZaA5FhMnjSZ1JCP+XdfhM80I+HIsmid4kcCyiurwbKgMoxz+BuwnQ88tzcC0lya7EwfOeI3 7s19+8YtVPBeAXPfnEPv1j6e6hUAx6VNU3jtlgSaN5FYlHEBiZIjCGPiWiZYFj6fRNAn4doW5vYP wbIsbCfXc3vDhuS6LpIksXb5gh19Bg3rUrPA5599xhPjH+eK5hI5/fxsP+oy5yuH+7r46NXaB/4g UiABAglIgUTxHYJgIpVOgL2lFp3sXbjHiwEWJU3YPjw2R/LQUBNhIBTee+OhHw6cNopFO3fyxPjH aZMMs272geOyao/DtqMu73/vgO1EQo8VURiEwkSPQ5h0qtiKW3oQHCeM4zzrubwRkab38IlHt696 +yXLirzEdeDAAUY+NIK0kMuCG8L4qk+C7XLbJRI9WkoMbAfYLlg2rmXhnvqOhCen5BD2rkLcEyWR crb7aNIfdx70XN6IwlMUa/Jmr5N+1vmG5555liY+i7z04yQH/s0x158IUjDyOh9E3l/3+ZECQfD5 waqEqjDYVbHtTEnK/uapeEt4D42ANAATB/dYtKtMGpbdo1xqFapj91aSBGuiLIhbdgrwdNLkb12P NI2YNAAlT3W6McHn5hJ5eft8cBx4JPmlXUtqK+CRppGRBuDEUx2SgKeJ/LEttZ42TSJv3v0p+ZXv D9dV0CNNIyTNKfI82aHG33K5uEaRY8BG4ANgSfKUusnikaYRkMaDh3PB/wwA0xh6ui9/IgUAAAAA SUVORK5CYII= --_005_2C85E14562B39345BCCAD90B8E7955C92B57E5DKEXC002adformcom_--