From glenn_engel@keysight.com Mon Jun 6 15:08:26 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DFDF612D93C for ; Mon, 6 Jun 2016 15:08:26 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -5.625 X-Spam-Level: X-Spam-Status: No, score=-5.625 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DI5J5syQY0Sv for ; Mon, 6 Jun 2016 15:08:24 -0700 (PDT) Received: from cos-us-iron02k.cos.keysight.com (cos-us-iron02k.cos.keysight.com [192.25.5.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 54C2D12D51D for ; Mon, 6 Jun 2016 15:08:23 -0700 (PDT) X-IPAS-Result: A2AyBAAQ9FVXbRUYjJxbgm6BI30GvE8SEIVxAoFwEAEBAQEBAQESGDMvhEwtXgEqViYBBBuIJw6aDKEOAQsBHwWPNoMqgi4FmEiBMIRTl0GPWjWEDW4BiRkBfgEBAQ X-IronPort-AV: E=Sophos; i="5.26,429,1459836000"; d="scan'208,217"; a="32245935" Received: from wcosexch02k.cos.is.keysight.com (HELO 2k10hubs.keysight.com) ([156.140.24.21]) by cos-us-iron02k.cos.keysight.com with ESMTP/TLS/AES128-SHA256; 06 Jun 2016 15:51:26 -0600 Received: from wcosexch01k.cos.is.keysight.com ([169.254.3.99]) by wcosexch02k.cos.is.keysight.com ([169.254.2.149]) with mapi id 14.03.0266.001; Mon, 6 Jun 2016 16:08:04 -0600 From: To: Thread-Topic: Additional data types Thread-Index: AdHAP6Oy25pLOQV2Rp6gIejeIb5M2g== Date: Mon, 6 Jun 2016 22:08:03 +0000 Message-ID: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [156.140.13.70] x-tm-as-product-ver: SMEX-11.0.0.4255-8.000.1202-22376.003 x-tm-as-result: No--51.732600-8.000000-31 x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No Content-Type: multipart/alternative; boundary="_000_04EFF12F483FA149B07653989B86861F2178C6CFwcosexch01kcosi_" MIME-Version: 1.0 Archived-At: Subject: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jun 2016 22:11:36 -0000 --_000_04EFF12F483FA149B07653989B86861F2178C6CFwcosexch01kcosi_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I'm evaluating use of CBOR as a replacement for a proprietary format that i= s very similar to CBOR. With the addition of TypedArrays most of our data = types are supported. I was pleased to see Null and zero length arrays supp= orted as well. The standard seems to be well thought out! We have several additional data types which I would appreciate being consid= ered or alternatively educating me on how they may already be included in C= BOR. 1. Multidimensional Arrays - perhaps a tag preceding an array of integ= er dimensions followed by the array data as a single TypedArray. Data woul= d be in row major format as is used in C, C++, and Python. 2. Jagged Arrays or an Array of Arrays. A tag indicating the dimension of the following = jagged array followed by each array. 3. IEEE1588 Precision Time Protocol Timestamp. The basic time represe= ntation is 48 bits of UTC seconds and 32 bits of nanoseconds. An addition= al 16 bits of subnanoseconds can also be present. Rather than a new tag, = I initially thought this could be covered by using a Decimal Fraction with = -9 as the exponent. The mantissa would be seconds*1e9+nanoseconds. Howeve= r, it would appear the RFC restricts the semantic tag for epoch-based date/= time to ints and floats. Perhaps if time could be expressed in integer UT= C milliseconds, microseconds, nanoseconds, and picoseconds accurately that = would fill the need. UTC milliseconds is a very common timestamp method. 4. Time Duration or Interval. This is different from a timestamp in t= hat it measures a difference in time between two events but with similar pr= ecision. This would represent a TimeSpan or Duration as is used in some li= braries. Thanks in advance for your thoughts on these items, Glenn Engel Keysight Technologies --_000_04EFF12F483FA149B07653989B86861F2178C6CFwcosexch01kcosi_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I’m evaluating use of CBOR as a replacement fo= r a proprietary format that is very similar to CBOR.  With the additio= n of TypedArrays most of our data types are supported.  I was pleased = to see Null and zero length arrays supported as well.  The standard seems to be well thought out!

 

We have several additional data types which I would = appreciate being considered or alternatively educating me on how they may a= lready be included in CBOR.

 

1.      Multidimensional Arrays – perhaps a tag prece= ding an array of integer dimensions followed by the array data as a single = TypedArray.  Data would be in row major format as is used in C, C+= +, and Python.

2.      Jagged Arrays or an Array of Arrays.  A tag indica= ting the dimension of the following jagged array followed by each array.

3.      IEEE1588 Precision Time Protocol Timestamp.  T= he basic time representation is 48 bits of UTC seconds and 32 bits of nanos= econds.   An additional 16 bits of subnanoseconds can also be pre= sent.   Rather than a new tag, I initially thought this could be covered by using a Decimal Fraction with -9 as the exponent.=   The mantissa would be seconds*1e9+nanoseconds.  However, it= would appear the RFC restricts the semantic tag for epoch-based date/time = to ints and floats.   Perhaps if time could be expressed in integer UTC milliseconds, microseconds, nanoseconds, and pico= seconds accurately that would fill the need.  UTC milliseconds is a ve= ry common timestamp method.

4.      Time Duration or Interval.  This is different = from a timestamp in that it measures a difference in time between two event= s but with similar precision.  This would represent a TimeSpan or Dura= tion as is used in some libraries.

 

Thanks in advance for your thoughts on these items,<= o:p>

 

Glenn Engel

Keysight Technologies

--_000_04EFF12F483FA149B07653989B86861F2178C6CFwcosexch01kcosi_-- From nobody Mon Jun 6 17:34:26 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AC19C12D966 for ; Mon, 6 Jun 2016 17:34:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.901 X-Spam-Level: X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=trilliant.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v-fluEyE84ln for ; Mon, 6 Jun 2016 17:34:20 -0700 (PDT) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0771.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc09::771]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C25112D732 for ; Mon, 6 Jun 2016 17:34:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Trilliant.onmicrosoft.com; s=selector1-trilliantinc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Zj3wSUdH7KA3B1iiHijReYTSiYjTFr0XAQt9CPDBbWo=; b=ZoOiqzfQIIaa9XgmPi4nkn6+m+4b4xUuPJkd2yskbqdlSaKjYXjxgOpJb+DnhU4K3onU0RR8ZV0uxBIbUAjy/ZpiaTgU46TB4wYmEujYq7KiKf0lfrYZsUeYEXUmgTmCHBQav/ow9lSZNjiuRbhWxa3qYYjK2N2h0V7ci3wk3HE= Received: from BLUPR06MB1763.namprd06.prod.outlook.com (10.162.224.149) by BLUPR06MB1762.namprd06.prod.outlook.com (10.162.224.148) with Microsoft SMTP Server (TLS) id 15.1.511.8; Tue, 7 Jun 2016 00:34:17 +0000 Received: from BLUPR06MB1763.namprd06.prod.outlook.com ([10.162.224.149]) by BLUPR06MB1763.namprd06.prod.outlook.com ([10.162.224.149]) with mapi id 15.01.0511.010; Tue, 7 Jun 2016 00:34:17 +0000 From: Michel Veillette To: "glenn_engel@keysight.com" , "cbor@ietf.org" Thread-Topic: Additional data types Thread-Index: AdHAP6Oy25pLOQV2Rp6gIejeIb5M2gAEoPxg Date: Tue, 7 Jun 2016 00:34:16 +0000 Message-ID: References: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> In-Reply-To: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> Accept-Language: fr-CA, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michel.Veillette@trilliantinc.com; x-originating-ip: [80.112.247.170] x-ms-office365-filtering-correlation-id: 023ca237-03f7-4601-a285-08d38e6b7579 x-microsoft-exchange-diagnostics: 1; BLUPR06MB1762; 5:zmaaC1PkZM8zoj1jhALNUOVoWje4D5d0E15auCaEt/QGWIk+IUzLGfF0xGD06BDlcI0n4J3jwLT4zR5VogwnrrP2XMdB05g70BwDvlhjBNLrCQjjR5VtiowHBM7kJL2I0cEvQXHYVYZM/usIZBWQzA==; 24:0xtsOOpHgRe9bQrLc8J0hAzSPBIi7LvCeEV/CUHL7bNGOdqTuAV0drOpjf60t14iF4GMQCNRYwIeJasipFFfhS4WZOh1/pVux3WUEaLgkhU=; 7:QKQu5JwouttTqMi3u2jCasoUfY34Zq1EMANTkxORVieMnXPrUintiO/K/o91syCwrgg0MLFC4PX9MELVW96AyBC3ZK1xyl5Awcw0Rhbbp7f0zD7f5SI6ATWHaMTsgdAy20duoINs0lKFMQcYQZhuyGIThgPsx+9NEyAVDTNAdSYswg1Gs+XJk5VUBmkqbyKBkruYzvPL3+feYCF73p3Klmgs97Dwv18q96WLcLVYe4w= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR06MB1762; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(176295241369792)(21748063052155); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415321)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:BLUPR06MB1762; BCL:0; PCL:0; RULEID:; SRVR:BLUPR06MB1762; x-forefront-prvs: 09669DB681 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(377454003)(189002)(3905003)(199003)(51874003)(87936001)(54356999)(76176999)(50986999)(99936001)(92566002)(5003600100002)(86362001)(5002640100001)(99286002)(15975445007)(19625215002)(66066001)(2900100001)(101416001)(77096005)(2906002)(2950100001)(5008740100001)(19300405004)(3846002)(790700001)(586003)(189998001)(107886002)(19580395003)(19580405001)(6116002)(5001770100001)(102836003)(97736004)(106356001)(122556002)(74316001)(105586002)(8936002)(81156014)(3480700004)(2501003)(81166006)(8676002)(19627595001)(19617315012)(5004730100002)(16236675004)(11100500001)(68736007)(18206015028)(3280700002)(10400500002)(9686002)(17760045003)(3660700001)(76576001)(33656002)(7099028); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR06MB1762; H:BLUPR06MB1763.namprd06.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: trilliantinc.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/related; boundary="_005_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_"; type="multipart/alternative" MIME-Version: 1.0 X-OriginatorOrg: trilliantinc.com X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2016 00:34:16.8234 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4f6fbd13-0dfb-4150-85c3-d43260c04309 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR06MB1762 Archived-At: Subject: Re: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jun 2016 00:34:24 -0000 --_005_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_ Content-Type: multipart/alternative; boundary="_000_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_" --_000_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Glen Multidimensional Arrays are not directly supported in CBOR but you can enco= de arrays within arrays. This should also answer you second question. [cid:image001.png@01D1C063.79CD7BA0] For the representation of the is 48 bits of UTC seconds, CBOR don't support= directly 48 bits unsigned integer. You can either use a unsigned integer 6= 4 bits (major type 0) or byte string of 6 bytes (major type 2). All these data types can be tag if such meta information is required. You w= ill need to request these tags from IANA. The use of tags is not required = when the decoder have enough knowledge of the information received to proce= ss it correctly. By not transmitting tags, you can minimize the payload siz= e. Hope this answer some of your questions. Regards [cid:image001.jpg@01C868D8.BF0BB7E0] Michel Veillette System Architecture Director Trilliant Inc. Tel: 450-531-3109 From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel@keysight= .com Sent: Tuesday, June 7, 2016 12:08 AM To: cbor@ietf.org Subject: [Cbor] Additional data types I'm evaluating use of CBOR as a replacement for a proprietary format that i= s very similar to CBOR. With the addition of TypedArrays most of our data = types are supported. I was pleased to see Null and zero length arrays supp= orted as well. The standard seems to be well thought out! We have several additional data types which I would appreciate being consid= ered or alternatively educating me on how they may already be included in C= BOR. 1. Multidimensional Arrays - perhaps a tag preceding an array of inte= ger dimensions followed by the array data as a single TypedArray. Data wou= ld be in row major format as is used in C, C++, and Python. 2. Jagged Arrays or an Array of Arrays. A tag indicating the dimension of the following= jagged array followed by each array. 3. IEEE1588 Precision Time Protocol Timestamp. The basic time repres= entation is 48 bits of UTC seconds and 32 bits of nanoseconds. An additio= nal 16 bits of subnanoseconds can also be present. Rather than a new tag,= I initially thought this could be covered by using a Decimal Fraction with= -9 as the exponent. The mantissa would be seconds*1e9+nanoseconds. Howev= er, it would appear the RFC restricts the semantic tag for epoch-based date= /time to ints and floats. Perhaps if time could be expressed in integer U= TC milliseconds, microseconds, nanoseconds, and picoseconds accurately that= would fill the need. UTC milliseconds is a very common timestamp method. 4. Time Duration or Interval. This is different from a timestamp in = that it measures a difference in time between two events but with similar p= recision. This would represent a TimeSpan or Duration as is used in some l= ibraries. Thanks in advance for your thoughts on these items, Glenn Engel Keysight Technologies --_000_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Glen

 

Multidimensional Arrays are not directly supported in CBOR but you can= encode arrays within arrays.

This should also answer you second question.

 

 

For the representation of the is 48 bits of UTC seconds, CBOR don't su= pport directly 48 bits unsigned integer. You can either use a unsigned inte= ger 64 bits (major type 0) or byte string of 6 bytes (major type 2).

 

All these data types can be tag if such meta information is required. = You will need  to request these tags from IANA. The use of tags is not= required when the decoder have enough knowledge of the information received to process it correctly. By not transmitting t= ags, you can minimize the payload size.

 

Hope this answer some of your questions.

 

Regards

 

3D"cid:image001.jpg@01C868D8.BF0BB7E0"

Michel Veill= ette
System Architecture Director

Trilliant In= c.
Tel: 450-531-3109

 

 

From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel@keysight.com
Sent: Tuesday, June 7, 2016 12:08 AM
To: cbor@ietf.org
Subject: [Cbor] Additional data types

 

I’m evaluating use of CBO= R as a replacement for a proprietary format that is very similar to CBOR.&n= bsp; With the addition of TypedArrays most of our data types are supported.=   I was pleased to see Null and zero length arrays supported as well.  The standard seems to be well thought out!

 

We have several additional data= types which I would appreciate being considered or alternatively educating= me on how they may already be included in CBOR.

 

1.  = ;     Multidimensional Arrays= – perhaps a tag preceding an array of integer dimensions followed by= the array data as a single TypedArray.  Data would be in row major fo= rmat as is used in C, C++, and Python.

2.  = ;     Jagged Arrays or an Array o= f Arrays.  A tag indicating the dimension of the following jagged arra= y followed by each array.

3.  = ;     IEEE1588 Precision Time= Protocol Timestamp.  The basic time representation is 48 bits of UTC = seconds and 32 bits of nanoseconds.   An additional 16 bits of su= bnanoseconds can also be present.   Rather than a new tag, I initially thought this could be covered by using a Decimal Frac= tion with -9 as the exponent.  The mantissa would be seconds*1e9+n= anoseconds.  However, it would appear the RFC restricts the semantic t= ag for epoch-based date/time to ints and floats.   Perhaps if time could be expressed in integer UTC milliseconds, microsecon= ds, nanoseconds, and picoseconds accurately that would fill the need. = UTC milliseconds is a very common timestamp method.

4.  = ;     Time Duration or Interv= al.  This is different from a timestamp in that it measures a differen= ce in time between two events but with similar precision.  This would = represent a TimeSpan or Duration as is used in some libraries.

 

Thanks in advance for your thou= ghts on these items,

 

Glenn Engel

Keysight Technologies

--_000_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_-- --_005_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_ Content-Type: image/png; name="image001.png" Content-Description: image001.png Content-Disposition: inline; filename="image001.png"; size=23220; creation-date="Tue, 07 Jun 2016 00:34:15 GMT"; modification-date="Tue, 07 Jun 2016 00:34:15 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAewAAAEtCAIAAABF/MQmAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO wwAADsQBiC4+owAAWllJREFUeF7tvQu4G1d5LjzavsmJnchc4tlAiEx7isKlmRAg8unFCn8fMjmH 1kopyRgKmXBKrXCeNpPT/idjTv+nav9Sy32gTMp5yOTA34xpaSZAi1ygnhSIZUrZQ1rIGEKicGkm 3DymBSu24y3H3t7/ty4zumxJW9ra2luz9U2cvbVHa31rrXeteeebb615V+LcuXOCkEgI8wL8T37A X+QDPQe/yJEg/82zb9mP8P/wK0hEz9GE8DGyRzLDaf6T/uYF0fNN5UR5mAmSjpZCPnOrtC7h3/CB /EV+hTXn1Y1qSNNj08a816bWrYOxdfEi9B4bQ5PSa1NTU4lEYm5uDq81zjBII4MwZL1ef/LJJx97 7LEpyqSEoOcvkusH/pGrCT6Ef5Nv6V/kJPuGJGcMD6cvkg/kW5oC/qZJiBmeglqFs/Q3KSeyElqj d4qGTVoMrxSvHq0UN0BKIVWi9aK/aBXCOw47F9rApo19rwGLXSQUPnG9Bq2+AAyO1xrSyNIYkvIm cXmAzps9V+rzMr+Zu0XgLDDW5T4S8Ze4rx66Tdx1jvxl7rI3ud/EIPOTG3526HBHnhc3x25G0R8N 95/lD8vm7nrk5FOXO8wVPUZEjwy8ZGxa5Oxir+GAxGstxjRyrn4u9MS5D82cW+bjUieaes8tXjod 8+CvU08c/hHXnfImcdqpO84dYpaV+9bkUZlnCO8FNDs/Qgv8HhH6Y8yL5wmjupAztBTi8dMcrC7U 16d1Ch8QQnP0EWF8mga3MCBRuC/S2xm/p5E/6Rm4bZJbJowrfoL9pn9HGdmXNB29vZK/6C8CC0lM zdHPzB5LywmLfM8M0OJI3rBOLCsvid8OWWWpQfKRGuHVphbCurCwGjaNdiP22pgOyJDSYk8jIdGG V+Ps7Gx4XTJXu/kIvbamazdkx6ZkTd5ur8ztxkNaWVBqx4Qh61Fm6lAJ9n1kq6Xm7c1gF1prcztb Xdamwf0GAljf//73n3vuuYVAcxKPZ9O6ddka6DVsWqcLdNyvtbZe27hx45VXXvmqV72KuSlr41oD GmGeeOIsIXEaOwnjKOEnSic0LgEOF/P2eLp55s0RKHgEgzkgYXpGkpAKcoWZ2QxlI27PfcWGJeoY kolMMj6oixd2BDFEnD5ijLMqm/SkFWQ/aL/Q0RZOrULqKHYyBk2DCn+r+q0zZ05f99rXbtq0qQc1 4FeIACKwvAjA8g0gu2Ry08/87H8SYAImtjTSzJDnz3MSh4nN1klAEhlhIZMoWkH5kZ6j0ZUoysLm Exl/RsEUfq4RDommIVm3RBEPFi1h8ZrQNAumhCF4+rE5rsKy00nSsIJ0wpPMldLKkIOFW8K5V3aT oYXQSNCqNQ3uLadOn3rt616HDL681ydaQwQWRQAuule/+tUnT57kTxCxpZEWhgybPcVZjrIidZZD Qg0D1/wE9ciZq8upla7uY6n475CRGRM3fxMGt0P2jYLdnI2ZieYiwy9CVg+tRS43u8nQytAqhTF4 XiVe2/AeMQ5NgyVl8Fi36IDDBIgAIrDsCMClNzW1bg3QSMSTEUSJZ599lsUjwqgEjX+wuAn3nfmJ MLbCv2jKwvNyC8wjDteKcFuU/Hncg9wu+JIXFt4OYzlsGQxdkk7DOHSaLozB0EALvZWwWTlmkIZZ mIfOSoyMhWfGpGmJqalHH330P+/cueyjEw0iAohAPwjMzHz5Wuk1c/MXO9IIUIvv+0888cTZs2dZ IDiMn3Pb3Imlc/3w+ZJLLrn66qt37NhBo78sWsyizyvEkHMXLvCY+Jkzzy6Y4uMxkjZcIjbkcYtO sHWaQmxJt2gCdgPoY+qytfjWiUw+eRHOXjbQJ8ZpnL5T7t51W/ht1MfMYO/s4IZ7nrcTSbyfqw3T IAL9IQCX3qc+9anHH3/8yitf+ra3vXX9+vU98s3MzEiSxF4rW5gMGPxzn/scefeKuZKJBHl9gV3a IaG0fV63bt2v/MqvEB5nWUJXeGUYEl4y4CR++vQZVng4Q8jd5MYqCXrfoUvdyH/QMHa/Cd+nhMqz BWx0QjKay2S+MffH2ZugLCG/X4UL4/jfJNDNV4DT+AhzsynW/K4YQkQcdzovEf3HErIsUwnhyW89 6TgPVavV06dPb926Fe6W8o03/tzPvZwExKemzA/dW7ijEEaGQkanTSMnF2uakJjyHv3atde+htYy sUdRLt1y6Uc+8hE+U0DzNzeNV1SYh/72jnk7s+2e+IULF2zbXjikfu3Xfu2yyy7rbyRjKkRgQhF4 +umnP/zhD2ua9uCDD/7yL+969atftTiJE5qmsYZWGvnsZz77gx/8AK5TRg7A5hBJB3d7w4YNQHpw nD9/HiZI4YJlnA4/Ic1LXvKS//qmN3HHsD8ameLxg0UYkt1qQteQsh0nVc6QcxcjEj91mjEwYzDO nE1rPuDMxYtzf3bgzz73+c+//e1vv/322+H2xCIY/LkhzMk5MFws0glNHgQJAzU0aSLx2De+8aMf /QjgeOUrX0lnKfktgQVQaLC7ETNpMxvVApKePnP6/e9//z//8z9v2bIF0J9KTF2cvwjxojNnzrzh DW/4vd/7vb+iR+XoUT57ylpLTdBHoTCm1KVpkOSTn/jEPffc8+53v/utb30r5HnnO9956aWXfvCD H6TzvVHAqBHeiRBdv27dsWNedgGJQ/X+7u8+9fa3/2bULlj0aVnWli1bd+9eEo8Hdn7aVo6XFXFC L2xs9uQg8IUvfOHf/u3f3vWudx05cuTHP/7xrbfe2ovEXVe65pq5C6Bz0J4KrvhP/d2n/v3f/x2e mImfKggveMELnve85wGTgC8F8XSIscC3//Ef//HMM88wHmeu+hVXXHHzzTf3TyMgtXDw4EHHcRbG A6I6wY1kz549b3rTmwgXNi+/i+LRlCFBqoK/7MOXgPCZRT57SUiMTRXOC8D3f/In7/3KI49Mv2ga Hjfo/CebdaQ1Z/OLNF8YlI5M8slJvv6En6Yeb2iBnLt48dQzzwCD12rPfBPWPLJas8WEPCcvidJt mJVUgNaCJobjbP3sXXfd9fWvfx2ebkRR3L59+46X7YCf09PTL3vZy/71X/8VCPezn/0snImaxmc5 OHi0Cd2bBn3mHD780Y9+9GU7djzwwAOf/vSnIfu11167efNmNtNLbjWtTYvmWMMWLRg7ggADgmF5 /vwF9o/9CbReLh86derU5FyQ2FJEYFAEvv3tb8OjNuQC/w8+w9XUwwJ108IlF5ycmmikKSfQEVtX /gu/8Auvec1rYGXL61//eoicwEnmnkcUzDioKUC7CI1AIcCil19+Odwhuh1gH25OjGMZ6YULQqhD y1z0piJhdUqjEuy1R95Q2khg8P3v3Q/MeNVVV11+2eW7d+/mGBA7sFyPvqoJ/9GXIsOckQlGurQe 5Fu+NJCJq9CakOxAjldedRXM+4nT20+dOv3Nxx9nzxBwO2QVpsn5m6L0TVBeYHQboQGaxAc+YIDH DfQNx2/91n8Dl/y9f/re973/fe9853+DuyWgD3fUl770pc9//vOj+0DjHVP6umePpkEBX/ziF++9 994Xv/jF4vQ0/IQQyj/905f++39/98///M93axpUNdSMYSsgO5A4SUPv/PTFVvIvGkvveMfbwUlH Hh/0wsb0E4IAOMU//OGPGInDNX7JJZcCj/dse4ItMe5MI/QShQgJmAJXD65rcAfZcjIWTkkmk0Dl 4LQBk1DXLQx9R6+qL0YjjCFvueUWcPO3dT+Ydx8xZBuNcKrl1EiamwAgOjebMPrF/fv3Hzt2DBgQ 0mSzWUVR6MMIqz2LqXRhpm7fRBmacsIjzA9/+MPTp05v3LTxxIkTqVQq8/JMSOC8dt0LIgmg897z nvfA/RPw/f3f//3LU6mL4QQFPJtAvAzmNCDuAT0B7f3fH/zf4e2slVV5sKe9aXCH+Jd/+ReAAsCF mycYhJ7+6U9/Co9Xf/AHf3DdddfxyZBOTYtqD1Mu33jsG9dff30b2lAfYOrbb1fPneOvcc7NXYAw X5TssssuB6+894xNi00Mp0wIh01eMx966KGvf/0b4G5DgJe1HniWBTbheOSRf6lUKnB5wmeIX8N1 BLOdv/mbbwN6YQm+8pWvvOrVr4ZFHR2RK5fLEJABR/tnf/Zn4caQTqfhuo7yksf0RAKCKn//938P n+F6BMoCPgE6puGUpqMLjUQpIC+tZBdKo14vFN0h7NPgXZ47DKfwAEIUCGBePERRCIPDXBwwOLSE MTgwY6SjwQLoIKbJ19VEMQUe32iKfLBnAtaIiDYbH0hw50UvehHMEEL3wD0Q1uRXv1WFtI3YBo3V hIGTpvAMvyslHn74YaB+yAKBpMsuvwz6ibvWgnD//fdD6IPdUdkcaVhBbpEVxP5gzy6s5ChEDu96 lUolcOEZg8PX8BM+w5n3vve93/j6N8KIfYhho+lRG6KHig7jh3ni7G4Px+xs/S1vuSX6B2eoXHDn o+aaBTkjQsPEjFyq1KJUtaqtyWl6XjHcxnmBfkFzJNJZ1agEURa3lEiUHM/MQ7a83TgPCdhX3KSY 0xxfEHyHFZCW6Z/R4Tslhdon5ptL7tYGPI8I9IHAT37yk5kZV9Pu3LdP/1/hETE4GHj961/3P//n //17v/c/4J+u3w1Jnnrqqe9973vNtnvSCLkGYSkEeHvgrjHWbqsXkDiwK7Aw8AkkY1TJCKU3jYTx EMIvwM7PwSV9jv5gH/h/8CI9/fTcc1AKj6GEZbBIQeMk96RJBfk9Kgy8MNIhhPv+978PlsS99MqX QoAGagz3QODHG97whl25HPyDYxf9BROGHz1oQXPDsDAzwFtEIYhiKuRD9cnq57/weYj4wI/Pk9+f /8LnPv+Fhx/+0pe+BJ20aVNy/YYNL7ziipM/Ofmd736XgUii+/SNTKY53cCMnyclQlcB+vDh2tdc y/xieGSC7OCDf/7zn4e7JeDO5iLgOYhVKWLaSMgWjPPXPXnEh9w5vv3d7/7xH/8xPPqAEcbg7IDP QOJw5yj+UfG73/lOeB9gTed92niNNIxldRyrIffzcMrmzclUCp4lyL/paRG+7RbpqzkFKV9O6051 dn62aqspUKRkh2/opqDa1fn5WddI2ztlw6Pn625JzplJjeSYn60YWVeRCk6tUS3bcNKmPz/fYVrU KFkpvezPHrey7k0FVdUqslWdnz1uSvCn5fOCbSVnCAUHTMx6Zs7NhyV3bDmeRAT6RoB5r9/8JoRb +zrg6RyoANaWNFL3pBFIBvwAMRNgEmBWIPSIxKPlKOCqMxIHv5ZFxrlf2KSHvZBGaGyYkw6U8dG/ +ujb4AGhcbz1bfw/uCW9FU7D+pF/+Id/oOvlKJtEb6OHNEJON8KuQgLc3o6QwPQoRH7hbsNqCYq1 0LBoESXLAufZrQSWfDQiRN0RBlNf/vKXgRAXBgcAFIAb+okVBys0oGKve93r+jS7b98+5s8eOHCg OQsU1FYWfAs3un7MgjVYcgT3c7AAcXaoHmsvax88dkFVgV6PHz8Oz25/+qd/CsGcHoMLsoNH3zGc 8uCDH3/Xu37r2WfPLsx+6aWXfPjDH7n11ltgJmTBt54hyb7hG7lky1cknFLKPeppUnjaLYl5oRzo WfKVlX/KUdPhV7Wyus3IPVUhZ8Dd3ln91Ekrn1pQFPkqODLLi/Lt/I496cafVm6Hq5805RSYEIui 27BPqli3Aj2qSl+XHyZCBDoiAOuGIeixY8fLfu3XfpV6Y50PoIKHHz4Cq9RuukmGKHaUiIRTXvUq uFo7ZoM4SRAEMG0GsRQIDAAXgYvG6Ij9hFyHDx+Ghctw7YNfCzNw4DtC5ABWA/ffX2BKVVVY9BIF ahbmhRoC8b7vfe/rTVNgoTWcQr3B0A8nK/tuuukm5rpCGewD3KPAdPMBVQH/lDzRtPn61NGlleNe JptRhT+uSl8FZYducJRPgEBN/RzxI1lE48L5Cy958YujAAp/kAifSaLf0UMK3BWhhrVajRM0n0ud BzjgfgBHvU5/zs6CCC9bw8+O5jo23HPqV8OPl770SljEzdaKQkp4mJJl+c/+7M8AHPgMZ4Df4Vvw 9yHoxGJGC5vGnXSw2Hlek09sRuGU5g9QBLs5dTiCauWYks+2MjhPlxab1xem09kTrg/xEd8/tEvJ RQwOiVOSvPuo54cevJARFzI4tykmw6LI793ZTPRnMiUENWIi8N0TD92+g40Xclx717ETQmS8/6GO KRGBDghkMpnf+Z3fgSviQx/6EKwQ74gRLASACGq1+kShUGhmcJqYqXSwK7/xm58Il36DqwpDF9w1 4BMWFofk8BPeBgLPEugbvmUnGTcuSiOc+8Ln/7e85S3kIX5bik5twp2CHOQv+EE/vfCFLyQTm5xU o4nMMHoQ+vRR88nOPozICF/wsDAhDvV29ZprrmFCtdAegOPPYf2HYXyAHvCb/PcB48///M9hrTuX wmKBD8bE7MmF/0UXstBKXfniK1/xildcnYG7HRz0F/zIwERmZsulW2fPzkJeeIkUWvIiQuJ8wxf6 8MBEy/n9gdU0Cq/8zM/8DPA12P/iP/0TwEqVzhv3EQI0f1uJxcQZx9Mf/EmHGGbhDPr8woNCF+ZI PDp6/oDPu3btghelIJIUueTwLTylEKolpfJXvCiWrPrUIuXhJmHGluEXxsRJuKjtH+mUbiRObMCN tc+rPUyY6jdDn3YXJLvzCERqmg89u1RTmA8RaEcAnMg9e5QbbrjhYx/7m7bAAEt68OBHgQT37t27 ffsVbZmp1kcY6+Qc0KARcNTgcoJna2Bqxt3gEcL6BXC9gUAgFAFLPKgACzkYy4NLDm7cojTSRIvk +gbPHaYbS/AfOWC6jRzkL/hBP8H/v/hLv0iZYwGNhC0I2Y00cYovjebs2CB78IXf8Y53wAJJ4HGo KKxO/+Bf/AXzauE4exb49uxsHYRsZ8/T6ARn7CZHNAo6Mw+XKWjBSmgSvWdH+BH4Fx6UfvzjE5uS m8hrlpdthcXdbAF1eMdkqlv00abpLPX0Cc394i/+IhgBp/hvPvYxWN/C3hBiSYG94U2ivb/92/Ci JtylG/4yvxXz2wK/4YR/sSXfrAlRSBq6jTya0PMRiZOV/9ETQfjAwWJZrBaMxntcjqzoaIlh8wdm oXPelJjZ7lTcjn4u+BCNTDXXObRLlsA3F8UbD9lu85RlzXMO3Sill4nZU2JaqHhkThoPRGCECEDo klzfCyYegQrg3T7wDFtC4Y2KkCnAbjQCBA0kDmbh4oGXepgFYHN45oYzR48eBWpiJ9n6NCAwNl/I Pb6Qqlhp3FVsopGIIYGp4Jaw8DjXOHUOJj+j9M00Ej0+NNMCkaLl3if/wAIJpA5AT4zHwTgs3YNZ SFgoTR8fGCk19vYJuSp0PBn1hP4uY7NQsYC3NWQn0hMQ2fnJT/4D5hMgzHTZ1ssgIAXvvPCq8wAL U8IlNsK1mHy7IFYQrCWCNfnsDglLDGEaFiAGzxdmfmGKAN7VhJV80DHHvv51Wu/Gf8wb5w863G1u bRrrksYNnNEy42bOryFltzet8SxAIVvME+8QUIGiu3riyVzByBhKwfICIPJ6zbOMcsjP1WJBd0iQ pB54VqHg7NXzabCVVor7A02Br0j0o+7D0pZCdX9RId8tOAKY3MyWvEGCIcmsuj95V6Fg8yr5rmU6 LctcRnhho+nJQeDRRz14w35hWBnOvO51r4f1xB2hIK8RdqeRDeuJJw4EDdTxne98B3xwcLTZenCY yYPoDXALvF8NrAilAKEDfUOCDRs3sMf6RWgkZAww8tcf+xjwKsxeth2/Gf4NQfPDMLHJVtKw2wG7 LzDmDYk8aiNEdlrTsb9YVuKEnofyIK4CZcM85yOPPMLry8DgFtl7OUw4nO2QzGiNcWNYOqffqBrh vUIQTtZqL3j+C2B1zdbLLnvRi19EPF/+2gu30LgpcRoP/VzaPCgdFlXCfC9MP7IX7k3T/PU3vxkW 1b/5zb8Ob+XAHQjmH+Dtyutf/3rOvrw7ydtK5K4QvuQUtrvRNI5gczsi8GjTOL7hDSC8j3GOp4tq eA93XVHfAJzB3vjHuq7bxZlWrIqRcRRpM1nPp3tpKcWTZo1SzilkYDGOpDiS5ZJJR3Iks7pTVmqG nCFZ5GI1X3H0zmH1JTFCUtKdRwuClZ+mVVLNmpTFt/+XBCVm6oYAuDUQ2QApK3Z1wFt4EJX467/+ azZNdf31r3/66e/BOxwds3N/qxONrN9AFg4CLwNHQ4ABioCVCN/85jfBeYXduNhCBuB0OMCpBU+c ueFA/YQ/FqORiCGhVg9/4QsQ+oaweLcDQkZHKhWmhcLYIKKRKL7MQ7S0kQnaWi4bGIqtsFcm+Tpp uCGsX7/hE5/4OLzw8ku/9Ev/5b/+F+Ibsl1zQrlBmpRvqRPlbAKxIUtIBaJoan6fAU2qKVjgAbIn 8EYo9cHPh9VoVIfrwDSfiKyHhqbWrYOX1j/xiU+A4itbIcQCW3BrhQ547XXXveWWW0i4nAAeLQGH ulD/mBFlKHTS3LR1U1N7CwUI78D3UM/7TBNW0INZmDaJTsI9gy5Iam8aryMtDVZPPvHE4wtmWgR4 RLj/fuvOO3+325C9556/gFeBOq1OwcscEZhEBL71rW8dPuz87u/+DqxU+Nu//SQwLIiDwktA4C6B dgpclbDOBK5QWBLdhg68DQTzb7AQu0N0M5F49Gtfg0gAm6gkrtfFi7BYhbEHeOgQUoZYCvwkO8vT FQ0sJXiN4B0uSiMRQ04l1h0+/A/ApT2cM7D/xje+cefOLFtT3UwjzdQMtxCuYggrH9kCFGB8Ju3V UOQiFhjHCXCHgteMwDF/jizQoRXgat9M9TsU9+Zs3tAJJ4zNNcGZYcqUkUohJVD2ChOwLgTiqbZY qPpCMjDzlPZpdmaNVZSFKKjLT/6EPzZs2vTDH/4AlFK+9/T34HYKEINgwGtf91rxiu3noOYMFV46 b1pYJ6ay1d60xLqpOwqF523bBvl+evLkvaYJWgSJqcQdd9zxvG3Pg8qc/OlJIHE6x9KhaRRaYnbT xk3VJ5+ERZNtAwtI/EMfurfjFA1LCeDccUcBSXwS6Qrb3AmBhx8+UqudhNW6sCoMFnP8+q/fDI4t OH+gSfK1r30NVo4B5x49+sV3v/uOttxAnbCA4jnCwh1oBAiRSVxE9MrWtsGfwE5M3RB+spXQ8JlF 5OEp/+UvfzkLHdPrvzONNDPkho0wHbou9Hnp/F07Q8Lc4YULz5GlkHy3ypBGGNUxhoTHBk7iJwiJ M75vlS5cZACFWVi9w/p3iBiwL8MkbVYJSTPtvy4JOteCZutmlC05JxBTJx3uqOQ93Tl4+afPa6Kl aeDKkxWpYfWgU8EgFNE4OS/A0sWFkeu2psHAgsnbhSQOUTYI1gOJN79JFFWUnYd1nPCE1WftMRki sLYRgGj1Rz/6V7DDJLxGDisamqc3QdEQlnLDRQovIcIk2UISh0WKzJWmvNVCI+BOwbpvHrtmhMhe NmQR2KYz0WdIAOvKuzhYI2dIeEQISfzECc7gTFE7DKS0hi6428votikWQlsKZ7irHIaIw1gLi1OE AQ/2mxtu2OcePSPypkALo2m+upqiyYM44V2B1zvskbDHGis3+ZlQ5XdVm0ZIvJMnDjcYJlLc7cID T5ytZFrbVya2DhEYNQLgicNaZnC5Gm5lGK5gz+CnTp+GhSgkotu0dUzbGhjmg8NPiGYAfcNyDJpg FRgSKKVB4lHchTu3YayE3oVo5Zp9aX5TonGMxv4H1FWlEZlQBDy60VGPmd+8OBVzxz00zp5FwiB5 FGvhwWq+joj760zKPPzR2MKNPmLQ+Ar5wB9vGvoCq960ZHIzIL7QEx/1wEX7iAAiwBAg4ZSXvxw8 cc4TMaSR0L0nzLY5JHH63lH4j32Gr+kKa+ZW83PsG/ZYQRLwwFHjW5aQOdP8iD42F8CXebQYpxZ5 wdx0WF6TtbB0Wgz/AWzNmLupcG6KTu2OT9OgLmx5KV5RiAAisPIIsMhkg8TiSSOU60JmC0GkWwWF 7BsSNGfOkI1ZLka0IUuT/OwUs8RNcJ5nAFGZ7WZbPAvzzJlFlpP/gA+h1gsvkt8ZGpROV4mHdwD6 kaqUh40Ibx98f6AxahpE5rduvYyFv1d+BGOJiMAkIwAX3eNPPA6qzkQdkNJMTGmkmSGjDk3Asjke imYThXz2j0V+wmQ8lNEyNciCLIseLILOj1arjPy7WgmjOCxA00hIPe+WojsY4YnGp2mAJsSwYEEn zIDzWVZSx7XQtJYxsLZ6DZsWx2ttYa/BTo1bL996xQuvABEl7njGk0aamwYL1XlMHF5J5xtZspV8 4dK9cCUf5AonJPliGMqndNNONsMZUTH51FgszgPpjXlMGrNmiXk+Nh1KymRfsb2PmaMeLUEPS+dT omFudsMhP7nRcMUjyRmJOI5V06aEBKzUXLcOVpgueu/DBIgAIrBsCBDne+5C/dxz8OYdXy8RzcLF jUYihgSJU07ioLYaLhRp/x0uJGlaDbIgCaVbxsuhW03WMYZRlubTlJoj0ucLWBhjN6zQNKEuWOil h0taOpW+oJ9bltVg05qxbYYGe435Cjggw2uVeRZ4rbXzURM5jRFDJoQp2EUnkqLlOyHw6DIJUHNi DWcxWcyZdnBIudGemvAd20EhDJuTz/zFexbtpv+Hswg0HkXTU+PhC0kkTWifSwmGJTIb4RwrS8jD 6Owjr1NYtyhuz4PyrOJse09sGptOID+x1/igxQHJLyF+NeG1RhkjnP4bVxppcDF4It//wfd5WCQk 6Mgxbvaom5y48I4d+sAtyVichbl/7GZAfZ1W57pxt49C3SRtVEbDqY+iKg2HssWFjPzwKJiywPNs eS4Iv8WmYa81eaA4IJkLHl28rQupWx5uWaSz6TIPw59II01RBeqSjpIhp4SpLVu3NDaFIJ5qkwJ3 tBQk3HidnYj8Z/jMZbeZZ8s3TWM+Ht2uvbFGhHnBjcWB3N3mlnnKUISbi8RwOaoW5zv0vSNTjdmJ xkNCs1cero/BpoWPSNhr4aomHJCROD9ea1GIofkD41+2goU/wo8bQ7Z44oye8UAEEAFEABFYRQSY cgvsbNxPHZiII/fE+8mAaRABRAARQATGE4Fwt/vxrB3WChFABBABRKAnAkjiOEAQAUQAEYgxAkji Me48rDoigAggAkjiOAYQAUQAEYgxAkjiMe48rDoigAggAkjiOAYQAUQAEYgxAkjiMe48rDoigAgg AkjiOAYQAUQAEYgxAg3BwBg3YvRVr/jet37yg6/+6Mknf/L9M8/Nditwy8bNL3/+lde96OU/9/yX 5NLS6OuFJfRCAHsNx0eMEFjyG5tI4ov0MrD2H1UsYPBBRwPw+B/mVOD0QTNi+uERwF4bHkO0sMII IImPBPD7vvrpD3/1M8OY/u3rfvW3r3vTMBYw76AIYK8NihimHwcElkziGBPv2n3DcwGY/j9f/fTf fOML4zBEJqQO2GsT0tHYzAiBvkjcLZ1MJFr+pbO1gnkmaAbSfSaRqNktp8YE53OuUTPcsDL91ROe x4f0waPG//nMx8HamGCxtqux0r3m24qYbx/zNdcsyGnYnyqRzqpGpfsV0fGyKpXP1vropHr1tKad HserrY/KY5LlRaAvEqdFTs3Mb5vn/7ZW7fUp67yknPaj6mQvn59PKeLyVm85rAXPle6arw9Yz+IR aznK5jYgqr6M1tBUNwRWtNdqbknZ8+CJ1rrU3ZK8s5wpekRD3zMk5wap4PRi5ebLaotnTnmFc4p1 dtEu9soX7mlce4smxwRrGYH+SbwZhfXJ9JZSeX2uckExFh9wscMPVjV8+6cDz2T2aCbMi4LN2OEQ rwqvYK/Vg0pJzuw0g6vaIArKpX3+/qKWTZEvUtmCfueJ+6we3nhL/g0p6VJNFR4yLuBYidfYW93a Lo3EaZ3FSzRN+ErpPA9UtIYp4HGvpJ5M0yAMxF40+2zDFxaeq9rPyGnyVUZ+xnZO5RMnS9zKs6XE ybz9LARAMiJJkFWfcWtzDYyCM2aBm4WvytXz0VfkAVM+KdISM3LNdM+Rr6BW0xcOCcK+nScTefr4 2RZOCc4YYT2jskYR/RiFzdUdOuNW+igQ7mzTNaYVJ2M84dmFNhBEpTwf6Nkhockm0sTCsyXxpNTi JJ01pJOydcbOn9y5TxAOXZhuXDhzNfdUQaYxz/RJtXTGb9SBhBOz9HKjX52uNl2KQ9YUs48DAkOQ uLAunUkIJ+b9pvHCm+Sfyl99oaZsrpLwy1bPmKruOVesMMKd84xnr9bm1coW+MotJcrqHJBs83Fo z3PlTNILts2f3JCvXtyphVHC4LQinbdSG1xi9hIzN1/IPWv5lOJrZ7TchUDd5JOvtlS0hLnzrAUV gyDP8fW7BWH/zLb58tb2YI9PDDrSRo8aLGUu7pTPeHUB1oMve9+MwuayVzLWBkeBcGebGfW4XzGU TKo3XvXAKer3XL9fk/sMMl6oec+a3tRh/RJqOSnrwjGrySv3LljHBCW3RSlvm9kvCLvXH5/fxu4Y Qfl0ZudcSruEBDy9TTnvfDYMdVbNszvtRMnbSr/amHUv5IpnkMZjPdTbKj8MiQuiSLZQ9dunV+Zc e+6h29brcjJJSlufym5UdwuW+xxl27PmXcJt5mYlvYF8JV1WKi3A884NRZY3tUXVEsLBi1XK/q51 4cHMOqu0hV4TmyR1synP316iFF+du+9EIp+9hJa4QZQvB15W0717CupJDBrapfSa2ZTTNtz5lYuW e34Jq8IXHROjsLlooROVYBQId7aZEkU6zrof9Yqezck59YBwt65keiW+uLOxZOD0tmvnnLpQq1+k ltdJuXXXHJureOxJdM6rzB3bvV5eOKrrZ4zCvPiBjSV5E0mYukQ118sPXig5cMXVPUcQcutyqfX0 q0sL5W1Bacsi1Z+ocRP/xg5F4l2avy6rb5u3kkL12Ur5lGE8o+ZmtUMCnwGqXrxPSMgSHW30SEvr rmk1tDu7vm2Q1YnncK4Kw1Fel2kk3iTJCeE+SvHS+v3Xz+/J1TTrtOc3Yiw9O2iBweQWY36bkdvQ 453Mbgave8MffXLXK3sUtwSb8R9dK9qC3gjv3PVHn3zDzw1aoaX2WjJXciuVavCU5hd2yCV4uut2 tKwXmH1qg1q/uEc567IM0kbtRsGqsD/qMDt+m7qxg1dfnbNOCEr20kYZqQ3ybuE+Dy6EZE5NbD9w Pqc+Y1fO1upNkclBscD044rAUCQe+LDJciKdXtA4/7SaPrNNfs5w5pPiOs3aVIKIBj1oFhhaTVlE FgHsccwHNfh2PjjanqZhJnmp7mw6rAvV0oVrd5whsT+jdQVkB/MdDC65m776sPOjK+/4+zf+8vSS TWDGUSHw/F9/43vf96Lg/Q9/a1QldLObVkqlXV/ZZ1bIAF70IOsF9GJCOHaxQp89SURFTRwrXSAT Rt6cdSyRzzW8n4a5OvGQyKxPw6mf3RPGKMX8Fm9mvSxc1G84t23zKTILVaXPxHisFQSGIfHzVXde uGYq0+4b1G3twsHMuif8bWXz8oKyRUpDFIUDJqYhAgNeRRN+9fm+RriQEHe1o16v01sCO1KXyIWU U902P7t5ppio3nVeNp7t2U2JZNsjwGKduudNH/jX376vyz/1P1+y4UXpt93/xp2LmcHvVxSBN73x 7vekX7Bpq/TBrn1335E3vWFEdUomU+C61PoOQqdSLReIKK+77cTFcuW868wd2wtRkU7VTArbBeH+ p6IVwOEHnfnm68XsVt3a5s9vOfnEBlW4uOfqs+X+LrkRYYJmlxeBIUg8qBv3CDdqG6X2Gs354AXk muIetblK5ERnpvYK845Hl47Qw6/MLfCwO7ZxU0YWBHvOa3x5zqsIwt6ppgAL/S6ZzKpJbbdwzL3Y Hq5vMbwpqwiCM+c3Tp61cmQ9AOhYdazBA5+567X/Z2+Xfw9+9ezZJx//8O3/ONMxbzeby9udk2yt G8Kf+ccD73n8+6fPPvn+rn2394bPPLwsveaVxESOTKiHR73qucI1uQWOTteOqgWtT7epTcpewXLO lg3hToXcEDocmXXqdsHmURf6ff2MLsI6lrZbx4ZUBjx9uOTnq01VnOQxszbavjQSP1+rntaVC+6t 60114RzJBmkvsO0FJ7gAszH12rNW4cLBCK3UJYUPCAcLszaJXM/Vqqd0nXwndgj1tSG8LquuvzWY K+gsTnLOs2YLjnBvgU7le6eyiZO6Q4PnxOxzZVe4VdlArKZIuKYanBPqbbFyarA6p1vP1rjB5/Rq oqhcAtpVg/budW/Y9fzvf+RtX/rX411yLsHmoHWY8PTdEf7JP37pT97z/cvfPHhMfNBekxTj1qqu Wx4dUXW/rOkHkntLqtRX38zV/dN6cf76/RvyjcthY06ZEg5cPHBiKp+FtQD8INeLPx8IF+oQ5k5u LhgJT6+XKnT81+tO8fyB9FRRgWvznFM4KSqnvBpcjOSqccoXheun5HbHp6/6YaLxRKB/Em+eRj+T LcB6pk1Veyvw44Jjo2xseiB3sTB9OpE4JSnn6+qmw7Aiivu86yTt0ieMhJU7A99mtfm8ObVLSLCF LIsc4lbb26AE54GvE4mzhUrCrGwpSOtILulSZ2ZdzZilK9NPSepFydxk5anR5Cb13kTl5rOJzWdJ bLH5oAazleek0KDtbYHrB7RkF6tK+/dfffgPf+PoN3vkWoLNQesw4el7Izxz9A9/Y/CY+MC9llZs z85WChJ97V42k9oTnimnundN82V1KqPMJbWNjn5p89WQzBJHe/vd67JNZ9O59Xem5q5NnFbK4Jqs SytbPDtRLdLxn541ausedbbQ9JvgYjSliwUJLsaTCfEsfDXjbJH6udwmfDzFp/ljIEULb9/sFI7M Xp4bm4EF7/79/j/eu7yd+L433oEK48sLaZu1NdtrtdOFbRcyj16mMX8FjzWKwJJVDBcncbiBr1HQ Ojdr+3YhCLbt+eT/u4xv3v+n573kgd/4fyYKxlVpbFx67Qc/uHjllc+sCkRRoTMzW7NZungcj/FA YIQkvtwNhPeDn9VLc84h4WlBuOr6RF7bCGHoHg+cy12BvuzB+9Zv+9s/6StpH4k+9uY/wN0h+sBp 2CRrrNdqTm3bTfNX3Thl2VtyKXTDhx0eY55/ySTef0x8uRBYl8peZpZhwRNZCOW7KWP8GByaCpz7 rmXazOF/7LwFGXy5Rk9vO2us11JyilwjzuXI4CszfmJaysqTeGyA2nvdrw7P48Dgb331/xWbNse/ othr8e9DbMFgCCCJ98ILGAEiIRDRHgxUmhpyQV5k8CVAN2QW7LUhAcTs8UJg8YnNeLVnRLWFlQ8Q bwVNO1BE6r3bPawshnVp8FyPa1FG1Bf9m8Ve6x8rTLnqCCw5Jo4kvup9hxVABBABREBYMoljOAVH DyKACCACMUYASTzGnYdVRwQQAUQAwyk4BtYIAo/9YP4bP6QSgHggAmOPwKtfPP+ql7QM1yWHUxYn 8Y9//ONjDwhWcNIROHHuBV8/88orNv77pAOB7Y8JAj9+7oV3/uoVzTw+WhK/5ZZbYoIMVnNCEfgb d/6xxx7709969YS2H5sdNwT+1//32Cte8Yq37WwEtJdM4hgTj1vnY30RAUQAEWhCAEkchwMigAgg AjFGAEk8xp2HVUcEEAFEAEkcxwAigAggAjFGYFASD+w82bMEjlL7NjkxRgGrjgggAktAoO4Zasld ZBfooKyqtr8E65ilPwQGJXFidf/MPBx6tr8SMBUisOII1DxTzabpFmlZ1fQ4y7gl7oCk5YIVnlzx ug1SIPhMOnGWoOZj6DT5tpp3ZSXcNi5y8MSMUqo0WFvMF2VbWZTrB8EF0zYjsBQSRwQRgfFGALa1 9PKOT3yNqpm1i2W6tbaQ1ckZODwtqZccdnKsj3q9loIK1mr+rj62El/ZptScki5alpIOixWVMoPX L+cqsNdoozppxdDcgrGYy76y9V87pSGJr52+xJZEdJLJOaZZCer1oGJb9WyGMGHjqNdqQUZKt54c N/SoX7vj9qP7diYS22667+jtOxJ5u/t9J3rKADc4evQgHrxedg0lI5Jtm0MW7XqWPag0LNQrutgo tOYUEmq5xoHyLN0vah03xq0HtXouIzYjms5rsmE6YeZxAzve9UESj3f/Ye07ISDmLSdfuWF68+Zp rV509Ghzd0Z1m3cYaV0d8x3fiV97/FO37n7g+Pz8zH7hbohhlpUWYmxpefSUEZRzttYUgrbMimR4 AeTOWSX+SCIIHc52sJDMKbpvOT4tqVax3f0Fmd/6fK+cUnKRF87qwgMq2wqequda65rMyspBx0UW H8EViyQ+AlDR5CojEJQLsiUdPj57/IhaVeVSFP/mRHWylCpKemWRCblVbgQUX68F2bRIoinXiMne 1fEdTSb+diJx9R1HjwYNlz2rqjmaWdK9xl2gw9mOFqS8Jtg0vh04VqBF8W/YTPyoBFVrPXhAZdbJ O7JiMe4Pj2Q6uxs89NUHde3VAEl87fXpxLcoqFgHFaMki0kxp5uGuM/xWjFJ5RQtWw3G2S1si6Yc u+vaXtEU3yrc5CsO+Nvz88cf2L2EEdDNQjpfEI2yJ/iOlSrk031ZTqYVTX2o6UbSVy5MtFQEkMSX ihzmG18EkknBcz3K0UHV9a9PpVrqWg8c0wjaorZj1hri1J48vHf3A0/Nzz+6f/udR2Z7RVMgyC+I ZOoTmmaYS1n829VCSlZl2zZMU1LDUAqBShR3eX6XEH3Nswx7r5RphTTwDqXF1o4YM8zjWh0k8bj2 HNa7KwJi3pyRXSVDJulyhlC0C5RPwrk/UVLLGdPRpHGHsBZUk3A/gqCKmE71DKdISulOv7A5IUqa l1PVJTSsuwUIjCvOXY6itExipqV8jcVZwiNaYQgzqIFaMZspH+4ulbK1Vx7zeYgl4DYOWfqSom1S MYSemvZ1XCQ+Dn2HdWgggCqGIxwNniGpguW13fVgsYrkKFWj4wKV9tr4dj7v664erikfYW1jYhpV DGPSUVhNRCDuCNSqVsnIltQFzy0pWS8F/b2L6du6mTU1ZPDRDIalhFPIylV87X40/YFWEYHxQYAE oDJ5J1c2WmMjvIZpxbKlMsx69j7grSAnb6ETPrJ+HZTEo7eyMKIysj5Bw4jAeCBAVmQGVbvQNZSd zOr2onMLKdlseq9zPFq2pmoxKImvqcZjYxABRAARiDsCSOJx70GsPyKACEw0AiMl8UjPoZfoQyzh R0XeWHYbVnqZEUAp2mUGdEnmRkriUCMq/dBT9IFUux64domo9CyZ7etVW5OJ9mha1rjWw4B4DKRT yqYGlvZu3ID1wuSrgsB4iNmiFO2qdH7MCh01ifcFh2cWzFpWG0KhHF7Bc3NmFYi1ovg3FdpkG/qq RPx0SvtqFiZaEgJjImaLUrRL6r0JyzQWJC5pZauQSy8i8dOrZ8S8YeSpgXRO2T2UbEMsdEonbJSu fHPFVRezRSnale/1mJY4FiS+nNj5ru3enZWWYjJGOqVLaR7mGQCB1RezRSnaAbprspOuLRKvuSXF yJaLfb0JvKDjY6ZTOtkDd8StHw8xW5SiHXE3rw3za4jEaxVd1molZ9hXw2KgU7o2xt4Yt2L1xWxR inaMh8eYVW3cSRxUdkRQolt0V1u/rGaLKcMp5VJtCPdrIcw2nE4pbOmYSKvRBipj1ttYnX4RWHUx W5Si7berMN1YkDhbdT2955BwaM90qyxLSsykTxytVGu9u8q1bz74JGxHuI1vZ960VLFfC3wn9CF1 SsW0tP3pg1UfR1asERgPMVuUoo31IFqxyg8qRTtQxWCmsJQ+3mtnwMXNBbY6bUiPuosqNHQ1NbyF bqY76PLWXCOfr+rVNjXlxduJKYZCAKVoh4Kvd2aUoh0BuJMiRQs3gXTekWaWrt8/vIUBug84XcwW /UKls+bbAJYwKSIwLgigFO249ETXeow6nMLiI0t8EROWi/iupWXbw9z9ozq8hc5lNQJATd9DGDOo OoaSGWLBe/9Nw5SIwKgRQCnaUSO8LPZHSuLRS5DDRVSWpaHLawQVeZcXT7Q2lgigFO1Ydkt7pUZK 4rFAACuJCCACiMC4ICD1dzRXF0l8XDoP64EIIAKIwBIQGCmJoxTtEnoEsyACq4ZA1cylQUhuVOUD IbRPj6GY7fBgj5TEoXr9SdGydsCO2Evdu7Oh700Wii9xHlWouWZBBkHcxS2gFO3wQ2/NW4DlpkRe OSFmFDN6W20w1eXxlqIdvgd9W827shLtoFyrOnAJgqR0yW02LuaLsq2U3PrwJa5FC6Mm8f4x8wzF zty9u/8M7Sn3z4ASLT2WNI8Kb3ZKxRpcbsFSLSy96phz7SHgW0rBVyswmoKKWi1oTo20cUDV5ZWW os0UKn6lkFmh3oAdlHXRauy/WSvruidqmrKw/LRiaG7BQBrv1DVjQuJ1t6S5mlGQVmj4LCzGL5fq hq0PJYi7apXHgscOAa9s1DVNFqFiNd/z/PusSgCf+1ddHkiKliQOndemzxC+0G2H7pYiZtSyH6Lk wzn6xNn05Bs9zLY+x0a7rfB3oWkpXew2dmbJqo1nD3jAZU8kCRCMbu4nz9L9otYkVpfKm2U9n0ml OvVmOq/JhsluhXi0IDAWJF53Dd3XTWUYRXFB2LeTjJOMXLAWVVpZOAgCzzmaDMLx3vT4i+MFEVgC AvDG/DE5kxbqVUuVTVEv7q76hMT7PwaUou1m+IBRzpn+/LxbrN1sVFg8wrVvqhdc8sQJR7gVC4sQ zuxvNeSZSimpe/DNySN3X3Pj/U+FyRfarVeKBT9vQ1nz1XLeyxdZaZ4ha7w0eHe6ybrvlVNKLt03 IsmsrBx0XGTxBYiNAYnXKzqIDw73lmO0btuvaCkTdmgbuKvrdcHzhAIZg1U7W5aNlqBc3yMNEyIC IQK1oKLntaDgWKqUWhIsA0jRdrO/WyvmCVGm01nBD9hlkcne6WmqZpU9f7Aoc1CLrquFdj33wNF9 N1D1os3TN9/3dJWW5lUsUVO4LF2yGYYgOCqlyZNKv0cynd0d1Aarcb+2Y51u9Uk8KBv3fOXAzs2k 84kGFnGolzozKQhJUc7nTiyhq0G2Lq8qGTLKUlI2d8Id0HGK9SjAyi83Aikxvf2AZkkmKCPDmPJ9 Nwt++QDHYFK0AxgmAzxnuFVTTdUsLbOI5GZGkpMVXYJrUyrVdXuReOedR2bDealwZqpePwZXZXRf G6yimLovBFafxBsvP7Kdh8n8ZGNmclAh2ZpnGdaN+WzjDt+fBVGSb7TLFepo1Cplu8VEX0iyRChF OwBYazmpJOvXS1nqgdeqZglk0QZTjxhMijaZEoVqAPGaum9r2qE+gE2KUl41LEPuKbkJe9dWFLNC QiT+YoISmcxt95TM9nBHRtp7yKZbl/vlgm5tb1RNFHd5g3lKgXcoLRJE8WhBYPVJvHeH9CkkG87K pGUjUCpltcnp6dNCWjVL9RJxOcSsKZp2s4kBxgxK0Q4A1ppOKml2oapRH1arKqEoWg/V5YVo9C9F m8oV7q1p0wlR0oOCcXdvYBvrcdNyOTNTyNLk7KWOnfu4HDR7GBZzqnTXtfQpGY40xCkJHXc+Unlj RvZoi5vW+aZk/XDaykLmQlUxDFYWPdJSvmZXWuxFdWATXG1TrJWytVeWUJhoIfyNx58unx588MFF 03RJALMkbJ34EMfxB24Trv/Ao6tqoVvh4YND0/cnZz6wa/vewyeHqC9mXQICH5u5uO/DX19CRszS C4Gn7r/xmrtnwhjJo/uv2b5/mEuxraiTh/de1RKB6VmVB3Zfsz+qSvy77T0f+cZff3muuR3PDH48 8sgjf/mXfznWnvjwQrLDWxjAW0Qp2gHAwqRxQKAWeBCiYXOJdd9zj2UHmopcpIngpZcCVbW7e/eR Ad/WzaypRW8FxQG8FavjqEkcpWhXrCuxIERguRGQCmU1oPOaiUSm4MozljLIepJFq5NWLFsql+FO 0fOAt4KcvDXs5rmL1iauCUa6s09cQcF6xw4B3Nkndl024RXutrPPQLA8+eSTjz322Kg98YGqhIkR AUQAEUAEBkMASXwwvDA1IoAIIAJjhcBISRylaMeqr7EyiMAiCKAUbRyHyEhJHADpR4o24nq+wrRN h7IvWGueqWZB5wfWo7aI7/SVmSaqexYVwVxkNSwziFK0/QM7sSk7S9FWbSpI1dcwEyZOiraTei9c bihF2+sqGjWJ93MFR1txwqLJ2SN3b78tM7AWpmfKXt4hL5bNwzuTdrE8mNgQvFXnaHmHKgXNe6W0 oYxOGL8fRDBN/BHoLEULr0C6sOsCDLOK4t9UsPzeDZ0sKVrBs0xBI8pcVTNtylxBiyKEUrQ9Bso4 kHhT9Xy75OhaPjXoNSxmco5pVoJ6PajYVj1LNVAGOarefbJKlYJAOiWvio63yOU1iHFMO3kIdJGi BTVWI0/VOtM5ZfdD5E35LscEStGCUK+lUXWCVC4vn2AKWuGBUrRdh8pYkXi9YuhiUZUGv+TFvOXk KzdMb948rdWLjj7wy7mieKNboboPdXCWTPfQYKoOg9cYc6xpBBaXovVd2707232sT7QUbd0tO+3y RShF2+2KGScSBzccVGkHd8OhbUG5IFvS4eOzx4+oVVUuDawoDo9rOpVOESXNzyrZXeKyvtSwpgkL G9cZgR5StDW3pBjZcrFpR4RONiZUihY2bVNgf4F2+SKUou1ypY0PidO9mpbkhgOHV6yDilGSxaSY 001D3Od4gzJLMqMYJKgeVG015XvL+nrxoHXB9LFHoJcUba2iy6CgDyK1PcScJlWKFnbRUHJl2Wls 2hb7sTDyBowNiXtW0e3ghvcnJCuAGrjnejSEFlRd//qmHZ76tMCRrgeerRX9UmERH2nkHYMFxBuB blK0flnNFlOGU+L7JHRr5URK0cIujXK+kq/YaqbT/Q2laDuPljEh8ZpjljKd3PD+hGTFvDkju0qG CMnmDKFoN+312p8FspiL5JZUs6bYtpKON4Vg7Vcdgc5StK5988Enj+7bSTfAWaC22lbpSZOiDcql fUefPLhnR8e1xnWUou0yqEeqnQILwEvp40vaez6qLuzLN21Ij7pa9ymgRa7X4S10KwCIf9rXo10K V503JrgCqJ0yks73LTlfLbolFvjxSpIsWCCItUxlwUOy5ChVo6+nXt/O533dXTMqWJOinTK8kOzw FpZpvKIZRCCGCKAUbRw6bdThlEmSoo1Df2MdEYEBEEAp2gHAWrWkIw2nrFqrsOBJQwDDKZPW43Fv 76SEU+LeT1h/RAARQARGjcCowymjrj/aRwQQAURgohEYkMQbG2WX3InGDRuPCKxBBFCKNo6dOiCJ owRrHDsZ67wqCHSUoo10l9NywVpUHWLCpGgjH1HMKKWKH/UaStH2HMADkviqXAxYKCIQPwQ6S9EK ke6ypyX1krOIZPKESdEyHxEOv5yrKLbX6HWUou1xBSCJx48esMYxQKCLFG1U83qtFmSkdKprUyZR iraBTlCr5zItGnQoRdt1qCCJx4AQsIqxQ6CHFC0LqGzeYaR1tYdk8mRK0fKAyraCp+q5ViFRlKLt dhUgiceOH7DCMUGgixQtD6icLKWKkl6p92rM5EnR8oDKrJN3ZKVt3yOUou0yVpDEY8IIWM1YIdBL ipY1JJVTtGzr5jXNLZxUKVqGQTKtaGqvfY9iNRhGXVkk8VEjjPYnEoFuUrQhGGQDKSNoi/s2ITWR UrRR+2ueZdh7pba9dlGKtvOlhCQ+kRSDjR45Al2kaGlAnGoelzOm01ubc+KkaKkcNBxp2QjUiimn mnsJpWi7jdklaaegBOvIKQALGAwB1E4ZDK8+U6MUbZ9ADZ4MtVMGxwxzIAKIwKAIoBTtoIitRvoB wylsBdD0nkOrUVcsExFABFYUAZSiXVG4l1jYksIpSywLsyECo0IAwymjQhbtjgYBDKeMBle0iggg AohA3BAYMJwSt+ZhfREBRAARWNsIIImv7f7F1iECI0Sg7hlqye351qkgBGVVtf0R1mLSTSOJT/oI wPZ3RKDmmWo2TRctZ1Uz1IwdTEh2eGjHW4rWt9W8KyvZJGsoCskO3+FLsoAkviTYMNMaR8AzZS/v +EQWtWpm7WKZacYOJiQ7PEYrLUU7SI1rTkkXLUtJh5lQSHYQ+JYxLZL4MoKJptYMAmIm55hmJajX g4pt1bOZVEvTFhWSHR6IgaRoBSF6RoD9FKIHB3JWL7uGkhHpa5A88NH1LH+bNLJQr+hi3g41z2tO IaGWa7xpnqX7RS3HvfBWdFBIdvj+H8ACkvgAYGHSiUFAzFtOvnLD9ObN01q96OiRZmyfQrLDAzWg FG30jBCUc7bWFIK2zIpkeMH8fDlnlfgDhSB0ONvBQjKn6L7l+LQ1tYrt7i+Er8L7Xjml5CIvnLUX hWSH7/clWEASXwJomGXNIxCUC7IlHT4+e/yIWlXlUrSR2gBCssODNIAUre9oMvG3E4mr7zh6NGjs GJRV1ZxI/GVJ98pKKNHd4WxHC1JeE2y6UVrgWIEWxb+FIDgqpVsFvwUBhWSH7/MlWEASXwJomGWt IxBUrIOKUZLFpJjTTUPc53itTV5ESHZ4fAaTovWtwk2+4oC/PT9//IHdSyi+m4V0viAaZU/wHStV yLd53l3KQSHZJXTAEFmQxIcAD7OuWQSSScFzvRqNEVRd//pUqqWpiwnJDo/LYFK0sNebIIrgGEPF DNNdQvFdLaRkVbZtwzQltVlVUBR3eX6XHUJRSHYJHTBEFiTxIcDDrGsVATFvzsiukiGisTlDKNoF Km0dzh72JSQ7PDb9S9FKSulOv7AZFG41L6eqSyi6uwUIjCvOXY6itExipqV8jcVZwiNaYYhCskvA f5gsqJ0yDHqYd1wQQO2UEfaEZ0iqYHlt4uewWEVylKrRcYFKe218O5/3dVcP15SPsLYxMY3aKTHp KKwmIhB3BGpVq2RkS6rU3pCUrJeC/t7F9G3dzJoaMvhoBgOGU0aDK1pFBOKPAAkfZfJOrmy0brLD W5ZWLFsqw6xn7wPeCnLyFjrhIxsPSOIjgxYNIwIxR4CspwyqdiFaJd/enmRWt3tvMQc5UrLZ9F5n zCEZx+ojiY9jr2CdEAFEABHoEwEk8T6BwmSIACKACIwjAkji49grWCdEYFUQqJq5dM6sjqpsiLE3 pFhYIShmOzzYSOLDY4gWEIFOCNS48lSLJBVLCCvuYAl6adG3csZbinb4bm8Ts+W87upSooXtxXxR tpVFhcuHr088LSCJx7PfsNbjjoBvKQVfrcCb8EFFrRY0pxbV2DMUO3N3Py/Hr7QUbaZQ8SvsxaYV OBaI2ZIya46mCfLetuLTiqG5hVCGcQXqFqcikMTj1FtY19gg4JWNuqbJRCKq5nuef59VYS+p192S 5mpGQVqkKQNJ0ZLEoV/f9JloztqgjAWbW4gZteyHRTa0rhqPA9ELl60Bj3rVpvnDg5bSxW6Utnkf DWg/fyJJiHmjudGdxGx9u1BKG8UOIi3pvCYbZtOtMDZDYeQVRRIfOcRYwAQiAG/MH5MzaaFetVTZ FPXi7ipVGqm7hu7rppLupMPdgtOAUrTdMD5glHMmbG7hFms3GxW2kZpr31QvuFQta35ez7KsTIFw Zn+rIc9USkndg29OHrn7mhvvfypMvtBuvVIs+HmbbKRRLee9fJGV5hmyxksLbLXJegcxW/pSkNFl RXkyKysHHbc2gaNpkSYjieOYQARGg0AtqOh5LSg4liqlaBGwyYJWK3V+c6ZTHQaQou3WhN0ac2vT 6azgB4wBM9k7PU3VrLLnL7I9ZpvVoBZR6EK7nnvg6L4bthGXffP0zfc9XaWleRVL1JQca3+S/WLH AjFbEFK081b3ZefJdHY3bDcxms6Ks1Uk8Tj3HtZ9XBFIientBzRLMh09C8zl+242kw7Kxj1fObBz M+G56T2HhH07W+fvmhszmBTtYDCkcoZbNdVUzdIyaTXaKKKTkYwkJytknjEhleo6vPbTs6Q7j8wy 954cTLy8Xj8G5B3miu4BHcy49u0PHdqzg8Ztdu4TDu2Z7mfqd7CWr83USOJrs1+xVauMgCTr10tZ 6oHXqmbJyOezqWgTSq76vX8mpLqFlR1MijaZEoUq2Qmi7tuadqiPtidFKa8aliEfrPrdkweOWVHM CgmR+A7s8tYrCJTJ3HZPyWwPd2SkvYdsujeQXy7o1vZGWe1ittHOQiyqs/uB441YD8sVeIfSIkEU jxYEkMRxQCACo0BA0uxCVaM+rFZVKv3HUBqV6V+KNpUr3FvTpkGKVg8Kxt292xNNYcK2m+XMTIEF xZnMbugC8xV+Yk6V7rqWPjrAkZY1vlVbpwJSeWNGBqlDnpjPj4JM1uG0lYXMhapiGDwAT/IvFLPt Xe16pWztlbsqAIyiD2NiE6VoY9JRWM2eCKAU7UgGiG/J+WrRLTH9Qa8kyYIV6NIylTXRYrYoRbtM owjNIAKIQA8EaoFHwto0Rd333GPZBftqDoEfitkOAV5TVgynLA+OaAURWIMISIWyCp43jZBkCq48 Y0VbLS9La1HMdjlgRBJfDhTRBiKwNhFIZTXLJfOaZGbTLJCVNst7oJjt8HgiiQ+PIVpABBABRGDV EEASXzXosWBEABFABIZHAEl8eAzRAiKwRhBAKdo4diSSeBx7DescBwQ6SdE21miTucJ2ce0FrZow KVq2Vr1Fa4tCglK0Pcc7kngc6ADrGD8EukvRkhc1m99M79G2yZOipS9qtkpzEXxQirbHKEESjx89 YI1jgEBXKdp+6z6ZUrTd0UEp2q7YIIn3e1FhOkSgfwS6SdESC0T3CvS95YLl9ZDkm0QpWgCH6l4l QJC8VPFb4UYp2m7DD0m8/wsTUyICgyCwUIo2VO0mq64rWsoELZJaL4uTJUUrCJEGlmfmPEVp2+wT pWi7jBUk8UEuS0yLCPSHQEcp2uasSVHO5050l8eePCnaZnRSUi6f/UpDvbw/0Cc1FZL4pPY8tnuk CHSSom0usOZZhnVjPks0tzsdkydF24RCHSRwDffurNSKDErRdh4rSOIjvZTR+MQi0FmKNlximJaN QKmU1XQvfCZOipYvMRQltZw2qqVci3w5StF2GysoRTuxLLOmGo5StCPpTpSiHQmsxChK0Y4MWjSM CCACEQIoRRuHwYDhlDj0EtYREVgVBFCKdlVgH7BQJPEBAcPkiMAEIYBStDHobCTxGHQSVhERQAQQ gW4IIInj2EAEEAFEIMYIIInHuPOw6ojA8iKAUrTLi+fKWEMSXxmcsZTJQ6CTFC1BoeaaBTkjohSt IPi2mndlJdtYEF6vlktqNk3kaEtuOGZQirbn1YMkPnnkgi1eCQS6SNHWnIJUrCmmF4CASnmxbYcn TYrWM3Kqk9acKhGj1bONfkIp2h5jFkl8JS5oLGPiEOgiReuXS3XD1nPplpcRO6EzgVK09YplKaap SKkO6KAUbddrCEl84ugFG7wCCHSRog0852gycDQZ4gViBvzx7lq0EyhFW3XttFA1FBJqSoPCo9/S UShF223cIomvwBWNRUwkAp2kaOt1wfOEgu3Pz1ftbFk2orhvJ4gmTIq2LpxwHV8yqhBqcgt1VbOD ZlRQirbLZYQkPpH8go0eMQLdpGiTSSGvKpkUFJ+SsrkTrt/CU41aTaIUbVLYnlXVHBV2FLO57CG/ 1RcfcZ/F1jySeGy7Dis+zgh0lqIVJflGu1ypkZrXKmW7uxbtJErRZrKqazs+CTHVfcdeoEWLUrSd RzyS+DgzAdYtvgh0lqJNq2apXpLI/mxZUzTtnlq0kyZFm8wVHdkh8wWJTMFTKsUWLVqUou12MaAU bXxpAmveQAClaEcyGlCKdiSwEqMoRTsyaNEwIoAIRAigFG0cBgOGU+LQS1hHRGBVEEAp2lWBfcBC kcQHBAyTIwIThABK0cags5HEY9BJWEVEABFABLohgCSOYwMRQAQQgRgjgCQe487DqiMCq4tA3TPU kttdO4DWLiirqu2vbkXXdOlI4mu6e7FxS0Wg5plcETWdVSONE7dENFLhSMsFq4fwyVJLbc8H723q 5MV8KLchzLpcxoe20yYkS18yJQeowpQqDdZGIdmhke5tAEl8xACj+Vgi4Jmyl3dA4QQ0TsysXSyz t+OzOjkDh6cl9ZLT5ZX55WvxSkvRDlLzmlPSRZAdTIeZyEum9PDLuYpiew1jKCQ7CLADp0USHxgy zDABCIiZnGOalaBeDyq2Vc9StZPGUa/VgoyUbj25vLAMJEVLffXIDW6II8JZveyGuoAGD3x0Pdtu oV7RxXykQgVS6Am1XOPN9CzdL2ot71SGANSDWj2XoRIo4YFCsss7OlqsIYmPEFw0HVsExLzl5Cs3 TG/ePK3Vi44uhQrXjCw37zDSuhqdHEUzB5SijZ4RgnLO1ppC0JZZkQyyBUU5Z5X4A4UgdDjbwUIy p+i+xSVhaxXb3V+Q+Y3L98opJRd54QwBHlDZVvBUnelYRQcKyY5ikDCbSOKjwxYtxxeBoFyQLenw 8dnjR9SqKpei+DenupOlVFHSK4tM6Q3b/gGkaH0QKadbviWuvuPo0aAR6KG6gOQWJOleYyehDmc7 WpDymmDT+HbgWIHW2EgtCI5K6VaeBulBFlCZdfKOrFgkVxOLp7O7wUMfFhLMvxABJHEcFYjAAgSC inVQMUqymBRzummI+xyvNU0qp2jZalAbGXaDSdH6VuEmX3HIlm/zxx/YvYRadbOQzhdEo+wJvmOl Cvl0X5aTaUVTH2q6kfSVCxMtFQEk8aUih/nWMgKg++25HuXooOr616dSLa2tB45pBG1x32XFYzAp WgjRC6IIjjFUzDB7bjTRpZZdLaRkVbZtwzQlNQylEBOiuMvrpoVe8yzD3itlWotCIdllHSBNxpDE R4Us2o0xAmLenJFdJUPWy+UMoWgXKCOFs4eipJYzpqNJo21i/1K0klK60y9sToiS5uVUdQnV6m4B AuOKc5ejKC2TmGkpX2NxlvCIVhimZSNQK2Yz5cPdpVK29sojnUVYQqvXRhaUol0b/TjprUAp2hGO AM+QVMHy2u5ZsFhFcpSq0XGBSnttfDuf93VXzy66QfQI2zFWplGKdqy6AyuDCKxdBGpVq2RkS+qC p46UrJeC/t7F9G3dzJoaMvhohgmGU0aDK1pFBOKPAAkfZfJOrmy0xkZ4y9KKZUtlmPXsfcBbQU7e Qid8ZOMBSXxk0KJhRCDmCJD1lEHVLnQNZSezur3ozEBKNpve64w5JONYfSTxcewVrBMigAggAn0i gCTeJ1CYDBFABBCBcUQASXwcewXrhAisCgJVM5fOmdVRlQ0x9oYUCysExWyHBxtJfHgM0QIi0AmB GleeAmXWUJIqkqnialWLCcyOtxTt8N3eImYbLTQPwYkIH8Vse0KNJD78SEQLiMBCBHxLKfhqBd6E DypqtaA5NUgTiUwRhZEjd2+/LdP2WmObnZWWos0UKn6Fvdi0AkebmG0kZUvEA566/8Zrmt6IRTHb Hv2BJL4CgxWLmDwEvLJR1zSZSETVfM/z77Mqrerjvl1ydC2f6gbNQFK0JHG4a0TTZ6I5a4MyVpps 1KCW/bCshtZVoiUbdYFbAx71qk3ztzw6dLEbpW3eRwPaz59IEmLeaG5tLzHbiqmLxZa16Shm2/Ui QhKfPH7BFo8eAXhj/picSQv1qqXKpqgXd1dblEbqFaOdpdoqNaAUbbcmHTDKORM2t3CLtZsNrrro 2jfVCy5Vy5qf17MsK/ODZ/a3GvJMpZTUPfjm5JG7r7nx/qfC5Avt1ivFgp+3yUYa1XLeyxdZaZ4h a7y0wFabrHcUs2Xfd7zBoZhttz5GEh/9BY0lTCYCtaCi57Wg4Fiq1OZwA0tVernhHLABpGi7Qbxb K1LtwXQ6K/hcdTGTvdPTVM0qe/5g0rBBrRaWs9Cu5x44uu+GbVRuffrm+55mGo9exRI1Jcfan2yG oaOYLUnV7QaXRDHbzr2MJD6ZBIOtHi0CKTG9/YBmSaajZ4G5fN/Ngl/ODxoLbg0WLKjNYFK0gzUm lTPcqqmmapaWSavRRhGdjGQkOVnRJSBmqVTX4bWfniXdeWSWb18Hv5h4eb1+DMg7ankfFfVMvZ8b XB+WJiUJkvik9DS2c0URkGT9eilLPfBa1SwZ+Twhc3p4VtFd1A0fTIo2mRKFKhHwrvu2ph3qo6VJ UcqrhmXIB6t+9+SguFtRzAoJkfgO7PLWS74qk7ntnpLp1lqtZaS9h2y6N5BfLujW9sa3ncVsa45Z ynS5waGYbeeeQhLvY8BjEkRgYAQkzS5UNerDalWlEqmP9GKptkL6l6JN5Qr31rRpkKLVg4Jxd+/K NpbypeVyZqbAguJs9ePOfcKhPdPR9KaYU6W7rt3MZzXTssa3autUQCpvzMggdcgT8/lRkMk6nLay iUS6UFUMgwfgSf6FYra9b3AoZtutW1GKduCrEzOMIQIoRTuSTvEtOV8tuiWmP+iVJFmwAl1aprIm WswWpWiXaRShGUQAEeiBQC3wSFibpqj7nnssu2BfzSHwQzHbIcBryorhlOXBEa0gAmsQAalQVsHz phGSTMGVZyw6W7lsB4rZLgeUSOLLgSLaQATWJgKprGa5ZF6TzGyahWhydtlai2K2w0OJJD48hmgB EUAEEIFVQwBJfNWgx4IRAUQAERgeASTx4TFEC4jAGkEApWjj2JFI4nHsNaxzHBDoIEULb/54ppql glKtKlGdGzRRUrQAgV/W5IwI4IiZ5jXpKEXbc7wjiceBDrCO8UOgoxSt4Jmyl3foTGHVzNrFnu+8 k9V9tRQ0vVbzd4nLuiykC56rKkUrBGXdyJQ8oswVuIX6TbYbVROlaHtcAUji8aMHrHEMEOgiRStm co5pVoJ6PajYVj2bIRzd8ZhAKdpUWqpbZtmr1WvVsu3c2lCbAYRQirbrqEcSjwEhYBVjh0A3KVox bzn5yg3TmzdPa/Wio3fdR55Kwx7/1K27HzhOBWLvngklpQbDIk5StElJd4rJ4rXbNm+72s45dr7l 4QOlaLv1PJL4YNcEpkYE+kWgkxRtUC7IlnT4+OzxI2pVlUteTy3YCZOihf0284VAf+LkySceSFs5 pS3WhFK0XUYekni/lySmQwT6R6CLFG1QsQ4qRkkWk2JONw1xn+P1F005dte1C/YY7r82bSnHVYrW c+5KlUpqJpWCXUkN9cH2zZCW3OA1nhFJfI13MDZvdRDoIkWbTAqe69VInYKq61+fSnWp3iRK0SaF 7W7Fo7vY1apedbuYapW+RSnazoMFSXx1rnEsda0j0FGKVsybM7KrZMgiupwhFO2emxJPmhStpFWM pAmytSDfq7qyU5Kbb3EoRdvtkkEp2rVOJpPRPpSiHUk/oxTtSGAlRlGKdmTQomFEABGIEEAp2jgM BgynxKGXsI6IwKoggFK0qwL7gIUiiQ8IGCZHBCYIAZSijUFnI4nHoJOwiogAIoAIdEMASRzHBiKA CCACMUYASTzGnYdVRwSWFwGUol1ePFfGGpL4yuCMpUweAh2laOueVZCJFG26WWu1GzgTJ0VbKSlE ilaEVzabFAlQirbn1YMkPnnkgi1eCQQ6StHWHC3v5EwiReuV0oZiVntXZbKkaD1D0QXNBSnaoKJ4 ec2pReigFG2PgYIkvhIXNJYxcQh0lqKtevfJaj5N0EhJeVV0PL+HE55I7Lj96L6dicS2m+47evuO HuIpRLe2xNW3mz67pYRuOxrx/MWMWo7K8uEc3XsBjuZs9ETepi++86NetWn+8KDJu9iN0rbudxE+ kSTEvNHcWs/S/aKWi16tD6oVQc2zvZjFvKrcV2m+xaEUbddrCEl84ugFG7wCCHSRohXFG92KSxzM egC64u4hv5kwW+o1eVK0KTHjO65PdB1rnmXaQrUFHZSi7TZukcRX4IrGIiYSgQ5StBAV0OslCRxj SfOzSnaR/XomS4o2mdPLOYe4/WnFSuUUIS1Srzw8UIq2y2WEJD6R/IKNHjECXaRohWRGMcjubEHV VlO+l01323StbWOfiZCiFeDVIrsKIXHfMSTBu1FKt6oYjrjPYmseSTy2XYcVH2cEukjR8irXA8/W in6p0IgItzVmEqVoQ3BqfqVUsHJFJd0KCkrRdh7xSOLjzARYt/gi0FGKVqAONgRTVLOm2HY7S7W1 dtKkaMmEKRwZuehmjLKebfXDUYq228WAUrTxpQmseQMBlKIdyWhAKdqRwEqMohTtyKBFw4gAIhAh gFK0cRgMGE6JQy9hHRGBVUEApWhXBfYBC0USHxAwTD72CEBYdezrGJcKohRtDHoKSTwGnYRVRAQQ AUSgGwJI4jg2EAFEABGIMQJI4jHuPKw6IoAIIAJI4jgGEAFEABGIMQJI4jHuPKw6IoAIIAJI4jgG EAFEABGIMQJI4jHuPKw6IoAIIAJI4jgGEAFEABGIMQJI4jHuPKw6IoAIIAJI4jgGEAFEABGIMQJI 4jHuPKw6IoAIIAJI4jgGEAFEABGIMQJI4jHuPKw6IoAIIAJI4jgGEAFEABGIMQJI4jHuPKx6RwTm 5+cRGURgchBAEp+cvsaWIgKIwBpEAEl8DXYqNgkRQAQmBwEk8cnpa2wpIoAIxAaB2zodHWuPJB6b TsWKIgKIwOQgcPDgwbbGLjzDEiCJT86owJYiAohAnBBoZu1uDI4kHqcexboiAojApCHAuLsHgyOJ T9qQwPYiAohAzBDozeBI4jHrTqwuIoAIIAJtCGBMHIcEIoAIIAIxRgBJPMadh1VHBBABRABJHMcA IoAIIAIxRgBJPMadh1VHBBABRABJHMcAIoAIIAIxRiDxyCOPxLj6WHVEABFABCYVgYsXLz7++OP/ P3Y1X3R4/AxSAAAAAElFTkSuQmCC --_005_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_ Content-Type: image/jpeg; name="image003.jpg" Content-Description: image003.jpg Content-Disposition: inline; filename="image003.jpg"; size=1478; creation-date="Tue, 07 Jun 2016 00:34:15 GMT"; modification-date="Tue, 07 Jun 2016 00:34:15 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAASAGADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0nWda ktpTa2hVZFAaaZl3CIHoAP4nPYVEJni0syCSRZJHAEsku9wexYDjGcAgdAaddpZW1wUmDvKzNLt4 UuW43LnqQOMDmmtNbataCzVPIkTOxMEZ4IwMgEVHU4JOTk7vXohLyHUPEWk2k2l6i2myBj52F3cj gr+Brj9HPiPWNdvtMXxBPE1pnMhGQ2DjpXoek25toZ0IIBuHYZ9Ca4nwaf8AivPEHPZ//Q67cPN+ zl5LsVKLbhzbvc2bDxppVo1tpdxqEl5eqVheZYjtd84zn61g3WuXkPh3Wp7XW7i5mhukQMY9hhGT 8oz1/wDrVY+F8MUh1d3jRmW4XaxUEj73Suaj/wCRW8S/9f0f/oTV0RpwU2l0a/FkSqTcE31udNBr Wot4t0O2a9l8ifT0klTjDMVYlj78Ve8P+I4LLQr2/wBQ1ae/hiuAhkaEqUz0AHesOA/8Vr4e/wCw Wn/oD1R0fVrjR/A+pXFqiNI1+se51DBARnOD9MfjRKkpK1u35sUaji737/kjs4viR4ellWP7RKm4 43PEQB9TVzV/Gej6JdrbXkz+aUD4SMsMHpzXmmv3813pSibW7G7G4N5MMGxgfXOB0rodPAk+I+kB 8NnS4zzzn92aiWGglza9fw+RccRNu3p+PzOp0vxrourzNFa3LeaqltjoVJAGTj1rntK+Iiz+JriG 6l/4l0hCWoWH5txIAz+tP8RRRxfE3w+Y0VS6/NtGM8tVLSr3T9M+Jmri9McaSHy4QUyN5K4xxxSj Sp8raV7q/wCI5VJ8yTezt+B32pwRT2EyzRJIoXIDqCAfWvOtIvroakIhcziPf9wSHHX0oorzZfEY Yn+Oj09e9UbWztob+aWK3iSSQHe6oAW57nvRRXRD4ZHoS3iFhaW9oZvs0EUO85by0C5PqcVCum2X 2aeP7Hb7JHDOvlLhj6kY5oorVfG/kZfZXzJPsVqLqCUW0PmRx7UfyxlRg8A9hSQadZpZTQraW4ic 5ZBGNrH3GKKKHt936iXX5lY6LpmD/wAS6z/78L/hVpbO2S/imW3iEqJsVwg3BcdAfSiirq7fJkU9 /uJLm1t5dRgmkgiaWMfI7ICy/Q9qjudOs5r1J5bS3ebg+Y0aluDxziiis6e69P1NJ9fU/9k= --_005_BLUPR06MB17636F1667538D0F1C0A95D9FE5D0BLUPR06MB1763namp_-- From nobody Tue Jun 7 17:18:22 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0A1F112D900 for ; Tue, 7 Jun 2016 17:18:20 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -5.625 X-Spam-Level: X-Spam-Status: No, score=-5.625 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rk7MVViYrfnj for ; Tue, 7 Jun 2016 17:18:17 -0700 (PDT) Received: from cos-us-iron02k.cos.keysight.com (cos-us-iron02k.cos.keysight.com [192.25.5.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B2AB712D901 for ; Tue, 7 Jun 2016 17:18:16 -0700 (PDT) X-IPAS-Result: A2B+AgBaY1dXbRUYjJxZAxkBAQEBAYJSgSR9Brx5IgZxhHoCgX0RAQEBAQEBARIYMy+ERQEBAQEDBSAIAVsCAQgRAQMBAQYBAQECCBUHAgUQDQIMFAMGCAEBBAERAQgGiCEOvHYBAQEBAQEBAQEBAQEBAQEBAQEBAQEODop0hEIVChURgmWCLgWVXXgDgXOFFwFsLIIIiCeEDohaj1cINIIkAxyBS24BiQ8BfgEBAQ X-IronPort-AV: E=Sophos;i="5.26,436,1459836000"; d="jpg'145?scan'145,208,217,145";a="32331163" X-Attachment-OP-filename: image001.jpg, image002.jpg Received: from wcosexch02k.cos.is.keysight.com (HELO 2k10hubs.keysight.com) ([156.140.24.21]) by cos-us-iron02k.cos.keysight.com with ESMTP/TLS/AES128-SHA256; 07 Jun 2016 18:01:26 -0600 Received: from wcosexch01k.cos.is.keysight.com ([169.254.3.99]) by wcosexch02k.cos.is.keysight.com ([169.254.2.149]) with mapi id 14.03.0266.001; Tue, 7 Jun 2016 18:18:12 -0600 From: To: , Thread-Topic: Additional data types Thread-Index: AdHAP6Oy25pLOQV2Rp6gIejeIb5M2gAEoPxgACDdFeA= Date: Wed, 8 Jun 2016 00:18:12 +0000 Message-ID: <04EFF12F483FA149B07653989B86861F2178DD15@wcosexch01k.cos.is.keysight.com> References: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [156.140.13.70] x-tm-as-product-ver: SMEX-11.0.0.4255-8.000.1202-22378.003 x-tm-as-result: No--42.329200-8.000000-31 x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No Content-Type: multipart/related; boundary="_005_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_"; type="multipart/alternative" MIME-Version: 1.0 Archived-At: Subject: Re: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 00:18:20 -0000 --_005_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_ Content-Type: multipart/alternative; boundary="_000_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_" --_000_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for the examples. cbor.me is a handy tool! In my case I want to deserialize into a strongly typed language (C++ and C#= ) so it is desirable to know the type of the array for memory allocation pu= rposes. Another objective is to be able to round-trip from strongly typed = into CBOR and back again resulting in the same types. This results in some= what larger encoding in some cases such as a float 1.0 using 4 bytes instea= d of 2 but it also speeds up serialization. I think of the 'array' major type as more of a 'list' which maps nicely in= javascript but for analytic data going into C++ for signal processing it's= important to keep it as a native array so the type and dimension propertie= s are needed up front for efficient memory allocation of contiguous memory. If I would like to see a multidimensional array tag that could use the new = TypedArrays would that be something I would propose to IANA or would it be = a tweak to the existing TypedArray proposal? I'm thinking a tag that is fo= llowed by two items - an array of dimensions followed by a single TypedArra= y. What about a TypedArray of strings, another common data type. Thanks in advance for your advice and insight. -- Glenn From: Michel Veillette [mailto:Michel.Veillette@trilliantinc.com] Sent: Monday, June 06, 2016 5:34 PM To: ENGEL,GLENN (K-Labs,ex1) ; cbor@ietf.org Subject: RE: Additional data types Hi Glen Multidimensional Arrays are not directly supported in CBOR but you can enco= de arrays within arrays. This should also answer you second question. [cid:image001.png@01D1C09B.A7C9A910] For the representation of the is 48 bits of UTC seconds, CBOR don't support= directly 48 bits unsigned integer. You can either use a unsigned integer 6= 4 bits (major type 0) or byte string of 6 bytes (major type 2). All these data types can be tag if such meta information is required. You w= ill need to request these tags from IANA. The use of tags is not required = when the decoder have enough knowledge of the information received to proce= ss it correctly. By not transmitting tags, you can minimize the payload siz= e. Hope this answer some of your questions. Regards [cid:image001.jpg@01C868D8.BF0BB7E0] Michel Veillette System Architecture Director Trilliant Inc. Tel: 450-531-3109 From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel@keysight= .com Sent: Tuesday, June 7, 2016 12:08 AM To: cbor@ietf.org Subject: [Cbor] Additional data types I'm evaluating use of CBOR as a replacement for a proprietary format that i= s very similar to CBOR. With the addition of TypedArrays most of our data = types are supported. I was pleased to see Null and zero length arrays supp= orted as well. The standard seems to be well thought out! We have several additional data types which I would appreciate being consid= ered or alternatively educating me on how they may already be included in C= BOR. 1. Multidimensional Arrays - perhaps a tag preceding an array of integ= er dimensions followed by the array data as a single TypedArray. Data woul= d be in row major format as is used in C, C++, and Python. 2. Jagged Arrays or an Array of Arrays. A tag indicating the dimension of the following = jagged array followed by each array. 3. IEEE1588 Precision Time Protocol Timestamp. The basic time represe= ntation is 48 bits of UTC seconds and 32 bits of nanoseconds. An addition= al 16 bits of subnanoseconds can also be present. Rather than a new tag, = I initially thought this could be covered by using a Decimal Fraction with = -9 as the exponent. The mantissa would be seconds*1e9+nanoseconds. Howeve= r, it would appear the RFC restricts the semantic tag for epoch-based date/= time to ints and floats. Perhaps if time could be expressed in integer UT= C milliseconds, microseconds, nanoseconds, and picoseconds accurately that = would fill the need. UTC milliseconds is a very common timestamp method. 4. Time Duration or Interval. This is different from a timestamp in t= hat it measures a difference in time between two events but with similar pr= ecision. This would represent a TimeSpan or Duration as is used in some li= braries. Thanks in advance for your thoughts on these items, Glenn Engel Keysight Technologies --_000_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Thanks for the example= s.  cbor.me is a handy tool! 

 

In my case I want to d= eserialize into a strongly typed language (C++ and C#) so it is des= irable to know the type of the array for memory allocation purposes.  = Another objective is to be able to round-trip from strongly typed into CBOR and back again resulting in the same types. = This results in somewhat larger encoding in some cases such as a float 1.0= using 4 bytes instead of 2 but it also speeds up serialization.=

 

I think of the ‘= array’  major type as more of a ‘list’ which maps ni= cely in javascript but for analytic data going into C++ for signal = processing it’s important to keep it as a native array so the type an= d dimension properties are needed up front for efficient memory allocation of contiguo= us memory.

 

If I would like to see= a multidimensional array tag that could use the new TypedArrays would that= be something I would propose to IANA or would it be a tweak to the existin= g TypedArray proposal?  I’m thinking a tag that is followed by two items - an array of dimensions followed by a= single TypedArray.

 

What about a TypedArra= y of strings, another common data type.

 

Thanks in advance for = your advice and insight.

 

--

Glenn

 

From: Michel Veillette [mailto:Michel.Veillet= te@trilliantinc.com]
Sent: Monday, June 06, 2016 5:34 PM
To: ENGEL,GLENN (K-Labs,ex1) <glenn_engel@keysight.com>; cbor@= ietf.org
Subject: RE: Additional data types

 

Hi Glen=

&n= bsp;

Multidi= mensional Arrays are not directly supported in CBOR but you can encode arra= ys within arrays.

This sh= ould also answer you second question.

&n= bsp;

3D"cid:image001.png@01D1C09B.A7C9A910"

&n= bsp;

For the= representation of the is 48 bits of UTC seconds, CBOR don't support direct= ly 48 bits unsigned integer. You can either use a unsigned integer 64 bits = (major type 0) or byte string of 6 bytes (major type 2).

&n= bsp;

All the= se data types can be tag if such meta information is required. You will nee= d  to request these tags from IANA. The use of tags is not required wh= en the decoder have enough knowledge of the information received to process it correctly. By not transmitting tags, yo= u can minimize the payload size.

&n= bsp;

Hope th= is answer some of your questions.

&n= bsp;

Regards=

&n= bsp;

3D"cid:image001.jpg@01C868D8.BF0BB7E0"

Michel Veill= ette
System Architecture Director

Trilliant In= c.
Tel: 450-531-3109

&n= bsp;

&n= bsp;

From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel= @keysight.com
Sent: Tuesday, June 7, 2016 12:08 AM
To: cbor@ietf.org
Subject: [Cbor] Additional data types

 

I’m evaluating use of CBOR as a replacement fo= r a proprietary format that is very similar to CBOR.  With the additio= n of TypedArrays most of our data types are supported.  I was pleased = to see Null and zero length arrays supported as well.  The standard seems to be well thought out!

 

We have several additional data types which I would = appreciate being considered or alternatively educating me on how they may a= lready be included in CBOR.

 

1.      Multidimensional Arrays – perhaps a tag prece= ding an array of integer dimensions followed by the array data as a single = TypedArray.  Data would be in row major format as is used in C, C+= +, and Python.

2.      Jagged Arrays or an Array of Arrays.  A tag indica= ting the dimension of the following jagged array followed by each array.

3.      IEEE1588 Precision Time Protocol Timestamp.  T= he basic time representation is 48 bits of UTC seconds and 32 bits of nanos= econds.   An additional 16 bits of subnanoseconds can also be pre= sent.   Rather than a new tag, I initially thought this could be covered by using a Decimal Fraction with -9 as the exponent.=   The mantissa would be seconds*1e9+nanoseconds.  However, it= would appear the RFC restricts the semantic tag for epoch-based date/time = to ints and floats.   Perhaps if time could be expressed in integer UTC milliseconds, microseconds, nanoseconds, and pico= seconds accurately that would fill the need.  UTC milliseconds is a ve= ry common timestamp method.

4.      Time Duration or Interval.  This is different = from a timestamp in that it measures a difference in time between two event= s but with similar precision.  This would represent a TimeSpan or Dura= tion as is used in some libraries.

 

Thanks in advance for your thoughts on these items,<= o:p>

 

Glenn Engel

Keysight Technologies

--_000_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_-- --_005_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_ Content-Type: image/jpeg; name="image001.jpg" Content-Description: image001.jpg Content-Disposition: inline; filename="image001.jpg"; size=26086; creation-date="Wed, 08 Jun 2016 00:18:11 GMT"; modification-date="Wed, 08 Jun 2016 00:18:11 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAF6AmcDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2DNGa ZmkaRURndgqqMlieAKAJM0ZrM0rXtP1vz/7Pn83yG2v8pGDWhmgB+aM0zNGaAH5ozUbSBEZmOFUZ JqOC6iuU3xNke/BoAsZozTM0ZoAfmjNUtR1O10mza6vphFEvc9SfQDua5YfE/TPOwbO7EOf9bjj8 utAHbZozWPZeJtN1G/htLKcTSSwmb5f4QPX0NauaAH5ozTM1Xvr+302ykuruQRwxjJJ/kKALeaM1 hSeKrP7Pps9sj3EV/L5Sshx5Z/2q2icEigBxYAEk4A5JqsL5mGY7S4dT0YAYP61JOf8AR5P90/yq xD/qI/8AdH8qAKn2yX/nxuf/AB3/ABo+2S/8+Nz/AOO/40LqE0rSeRZvIiOU3bwMkU+w1GO/QlVZ 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 /vs/4UAXKKp79R/55W3/AH2f8KN+o/8APK2/77P+FAFyiqe/Uf8Anlbf99n/AAo36j/zytv++z/h QBcrF8R+HYtdt1+by7iP7j4/Q1e36j/zytv++z/hWfbXmrX4kkgFrGiOY8MSeRVRhzIzqKMlyyV7 nC3PhPWLZyv2N5R6x8ioP+Ec1j/oG3P/AHzXo+3W/wC/Z/kaNut/37P8jR7FfzI43g4eZwNp4Q1e 7cBrYwLnlpeMV6DoWhwaHZeTEd8jcySHqxpm3W/79n+Ro263/fs/yNNUkuqNqVCFJ3SdzWorJ263 /fs/yNG3W/79n+Rp+z80b83ka1FZO3W/79n+Ro263/fs/wAjR7PzQc3kXZdPs5pC8tpbu56s0YJP 44pv9laf/wA+Nr/35X/Cqm3W/wC/Z/kaNut/37P8jVe8vtfiw5vIdF4a0aG9lu49MtVnlADv5Y5H 06VZ/srT/wDnxtf+/K/4VU263/fs/wAjRt1v+/Z/kabc3vP8WHN5Fv8AsrT/APnxtf8Avyv+FH9l af8A8+Nr/wB+V/wqpt1v+/Z/kaNut/37P8jR738/4sObyLY0qwByLG1z/wBcV/wq0OOBWVt1v+/Z /kaNut/37P8AI1Li3vIObyNaisnbrf8Afs/yNG3W/wC/Z/kaXs/NBzeRrUVk7db/AL9n+Ro263/f s/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeR rUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n +Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yN Hs/NBzeRrUjfdP0rJf8AttEZi9ngDPermn3ZvtOjuCu0uvI96ThZXuNSu7GBqH/H9L9ar1Y1D/j+ l+tV6gol1T/kXof9/wDrRRqn/IvQ/wC//WigDrap6n/qIv8Arsn86uVT1P8A1EX/AF2T+dAGfruo 6lb6jYWWli0ElyWLNchiAFx029+a213bRuxuxzjpmsHVefFejf7sv8hW/Uxe/qN7oKKKKoQUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV 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 er/99Gj7RN/z1f8A76NAHU1k+H/+PW5/6+X/AKVmfaJv+er/APfRpFkeMYRmUHk4OOatP3WiWtUz qqK5b7RN/wA9X/76NH2ib/nq/wD30ago6miuW+0Tf89X/wC+jR9om/56v/30aAOporlvtE3/AD1f /vo0faJv+er/APfRoA6miuW+0Tf89X/76NH2ib/nq/8A30aAOporlvtE3/PV/wDvo0faJv8Anq// AH0aAOporlvtE3/PV/8Avo0faJv+er/99GgDqaK5b7RN/wA9X/76NH2ib/nq/wD30aAOporlvtE3 /PV/++jR9om/56v/AN9GgDqaK5b7RN/z1f8A76NH2ib/AJ6v/wB9GgDqaK5b7RN/z1f/AL6NH2ib /nq//fRoA6miuW+0Tf8APV/++jR9om/56v8A99GgDqaK5b7RN/z1f/vo0faJv+er/wDfRoA6miuW +0Tf89X/AO+jR9om/wCer/8AfRoA6miuW+0Tf89X/wC+jR9om/56v/30aAOporlvtE3/AD1f/vo0 faJv+er/APfRoA6miuW+0Tf89X/76NH2ib/nq/8A30aAOporlvtE3/PV/wDvo0faJv8Anq//AH0a AOln/wBRJ/un+VZ+gf8AICg/3TWV58p4Mr4/3jSLI8ahUdlUdgcCrT91om3vXN/FGPasHzpP+ej/ AJ0edJ/z0f8AOoKJvE3/ACDV/wB8UVnam7PZNuYnkdTRQB//2Q== --_005_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_ Content-Type: image/jpeg; name="image002.jpg" Content-Description: image002.jpg Content-Disposition: inline; filename="image002.jpg"; size=1561; creation-date="Wed, 08 Jun 2016 00:18:11 GMT"; modification-date="Wed, 08 Jun 2016 00:18:11 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAAXAHgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1HV9X j0uFfkMs8pxFEv3nNZ2nzz3d3uupmllHWKHhIvbPc0XWnzXV5NcsWEjt5UT94k7kfX1q5pthHaI8 fmgMc4QNyPf3JqXucTc6k/IjstV/4mf2eRi0U+WhY9VI6qawNeg8XRXt3c2dzElig3IO+KsSW8yX CysMFbhGB6HJznNdJrXGi3n/AFxb+VaUpWkEJOpGXN0PNdE1Txb4hEx0+9XMRwwfpXeadqYsdOgi 1u+gF8E/e/MOtcn8Kji31MjjFY3hjQbfxR4i1FNSaVwhZgd3PWu2rBSbvpaxNObio+Z2t9cao/iy 0+yajbLprgFoS3zN9Ky9K8RajceLdVtZbgNBBHIyRkcgjpWbq9tHZ/EzSreEEJCqKuT2pdF58da5 k/8ALKX+VCpJRv5BKo3K3mWvDmu61q3hfU3N9ELuJx5cr8Kvsa6vQ76S30GCbWL2GSUnBlVvlrzf Rcf8K+1v/rqtbFt/ZS/DWy/tgSeQZMqkRwWNKpSi/vCnUlH7jvBr2l8f6fb5PA+cVZku7eCAzSzR pF/fZuK8Zvv+Eaayk+xWN+k5+47k7V96ty3Ms/wu2zOWMV0EBJ7VLwqte/WxSxTvY9ROvaZ0+3W/ /fYqW4v7a2sXuTNH5arkMW4Jri9K+H+i33h23upIpfPkh3k7zjOPSszwZZjWNI1jS72R5LeFtyc8 gio9jF3lfYv2s9F3Oh8JeNG1ma6j1AwQFGxEM/e5orl/h/oFnq2oXMt0H32cgaPaeDyetFFanSU2 gpTk4I9G1W0u2XzLV1b5cPDJ91x9exrljqiWt5snmlglXHykbwPxFFFcc9Gc+MbjJWOnspINXtg4 beyMNzbcZxVzU4GuNMuIo8bnjKjP0ooq47pnZT96nqcp4B8P32iw36XioGl+6FbNR+CfDd/o2vah cXiRqsudu18980UV0zm3zeZCivdHav4bv73x/Z6nCqG1jAyS3PHtUemeGNQtvFOqXsqxiC4SRUIY E5PtRRQqsrJeRLpxu2UNM8I6nbeENUspFj86aRWTDjBAqS68Fahd+CtPtE8sXVrIXALcHPvRRVSr SX3kqlFr5Ec2leL57E2kkdl5ZXacFQcU1vCOqDwHNpxWL7T9oEgG/jH1ooqvbS0XmTGCv8jutGtZ bXw7a20uPMSDa2DxnFc34K8OX2lTat9sCKLkkIVbP50UVzqbSl5nQ4puJl6H4a8SaBq7/ZnhFtJN +8+YfMM56UUUVpOo5O7RFOPKrI//2Q== --_005_04EFF12F483FA149B07653989B86861F2178DD15wcosexch01kcosi_-- From nobody Tue Jun 7 17:39:26 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 083E212D917 for ; Tue, 7 Jun 2016 17:39:25 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.901 X-Spam-Level: X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=trilliant.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5KSX4R-rkGrM for ; Tue, 7 Jun 2016 17:39:22 -0700 (PDT) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0714.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:714]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E30C012D914 for ; Tue, 7 Jun 2016 17:39:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Trilliant.onmicrosoft.com; s=selector1-trilliantinc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=tC3ujaq+TVveHmd8gFPL33dYG2D8je6i0YkyAK1OuXA=; b=NBh/uBhgJBlNek293+1LJr/nLzOAN2a82yawCKPJFLmFm5lUnrYq+S+Md3q5M7jXvAitZJbwWKZ80sA+wVkSwLFyTabTLmBG3JAr0ltAi3LJO7jcvBWMJ4CKDQi2AzK8YTXRxbskDVhrmowezzZuQYGk5K2shIXrLDxchuHGOWc= Received: from BLUPR06MB1763.namprd06.prod.outlook.com (10.162.224.149) by BLUPR06MB1764.namprd06.prod.outlook.com (10.162.224.150) with Microsoft SMTP Server (TLS) id 15.1.511.8; Wed, 8 Jun 2016 00:39:19 +0000 Received: from BLUPR06MB1763.namprd06.prod.outlook.com ([10.162.224.149]) by BLUPR06MB1763.namprd06.prod.outlook.com ([10.162.224.149]) with mapi id 15.01.0511.010; Wed, 8 Jun 2016 00:39:19 +0000 From: Michel Veillette To: "glenn_engel@keysight.com" , "cbor@ietf.org" Thread-Topic: Additional data types Thread-Index: AdHAP6Oy25pLOQV2Rp6gIejeIb5M2gAEoPxgACDdFeAAEZrJ8A== Date: Wed, 8 Jun 2016 00:39:18 +0000 Message-ID: References: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> <04EFF12F483FA149B07653989B86861F2178DD15@wcosexch01k.cos.is.keysight.com> In-Reply-To: <04EFF12F483FA149B07653989B86861F2178DD15@wcosexch01k.cos.is.keysight.com> Accept-Language: fr-CA, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michel.Veillette@trilliantinc.com; x-originating-ip: [80.112.247.170] x-ms-office365-filtering-correlation-id: 7136270d-bb08-4cf2-5e84-08d38f3553cf x-microsoft-exchange-diagnostics: 1; BLUPR06MB1764; 5:f8wszmcd/MeX+0G/XwOBOHGLSWhwXIi7tme3+sdI605Hn53FHKO7UgwWNZG541mbpo7UE2BI8vL01YtrckphecbHwBmIDY/q5a6vx4ZIu9LblIyziG7/Z1urk9lsrOfyXxzMU2kNKAb8cVjO15FyCQ==; 24:i0S8A4i5faN2cAYpDnkV1F8722MVS8cJPUbK/7T2d4ypYQ8CHhrb+mserLTXXxLPNzaxcTePkd3mqo5YF3xvqY+mx3K/s4HuY1ZrErbGX6I=; 7:lnLWXGcJTsoXVw6rluhV6XCdb2VjClUnvGSbnjryBhB2EnmSVPLjDt9r9k2g20oH/cCHOCyRV83omp3k6COCV66d0nj2ExF32mCBw/IPM/iyENu4l1LvkyrQcKK4Et/lcYWEy6Quwd8Yr3sUozG4IsB8KJzppukG9ZU6dInTGmHULdrM4gK1xQvnr4eWlxxrufulxoU5bpJL5aeycihRzjjbHlJKWPnM5uTINdF5G2I= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR06MB1764; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(176295241369792)(21748063052155); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415321)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:BLUPR06MB1764; BCL:0; PCL:0; RULEID:; SRVR:BLUPR06MB1764; x-forefront-prvs: 0967749BC1 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(189002)(51914003)(199003)(3905003)(377454003)(51874003)(2900100001)(3660700001)(5003600100002)(2950100001)(19625215002)(189998001)(15975445007)(5002640100001)(77096005)(107886002)(5001770100001)(86362001)(2501003)(8676002)(5004730100002)(2906002)(97736004)(561944003)(81156014)(81166006)(11100500001)(76576001)(101416001)(122556002)(19617315012)(19580395003)(19300405004)(68736007)(19580405001)(3846002)(3480700004)(99936001)(8936002)(74316001)(19627595001)(17760045003)(105586002)(87936001)(16236675004)(106356001)(6116002)(9686002)(50986999)(66066001)(3280700002)(54356999)(790700001)(10400500002)(76176999)(99286002)(18206015028)(92566002)(586003)(5008740100001)(33656002)(102836003)(7099028); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR06MB1764; H:BLUPR06MB1763.namprd06.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: trilliantinc.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/related; boundary="_005_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_"; type="multipart/alternative" MIME-Version: 1.0 X-OriginatorOrg: trilliantinc.com X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2016 00:39:18.9478 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4f6fbd13-0dfb-4150-85c3-d43260c04309 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR06MB1764 Archived-At: Subject: Re: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 00:39:25 -0000 --_005_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_ Content-Type: multipart/alternative; boundary="_000_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_" --_000_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable About " so the type and dimension properties are needed up front" CBOR array already support the "up front" dimension. For the type part, if your arrays are always homogeneous (array of int, arr= ay of string, array of array), your decoder can do a lock up to the next ma= jor type following the array tag and dimension to determine the type of thi= s array and perform the proper allocation. If not, I assume you can register a single tag "TypedArray" and do known if= a lock up is necessary. The alternative method will be to register a tag for each of the TypedArray= you need to support but this seem to be an unbounded list of tags. Carsten= can probably give you an advise on this. Regards, Michel Veillette From: glenn_engel@keysight.com [mailto:glenn_engel@keysight.com] Sent: Wednesday, June 8, 2016 2:18 AM To: Michel Veillette ; cbor@ietf.org Subject: RE: Additional data types Thanks for the examples. cbor.me is a handy tool! In my case I want to deserialize into a strongly typed language (C++ and C#= ) so it is desirable to know the type of the array for memory allocation pu= rposes. Another objective is to be able to round-trip from strongly typed = into CBOR and back again resulting in the same types. This results in some= what larger encoding in some cases such as a float 1.0 using 4 bytes instea= d of 2 but it also speeds up serialization. I think of the 'array' major type as more of a 'list' which maps nicely in= javascript but for analytic data going into C++ for signal processing it's= important to keep it as a native array so the type and dimension propertie= s are needed up front for efficient memory allocation of contiguous memory. If I would like to see a multidimensional array tag that could use the new = TypedArrays would that be something I would propose to IANA or would it be = a tweak to the existing TypedArray proposal? I'm thinking a tag that is fo= llowed by two items - an array of dimensions followed by a single TypedArra= y. What about a TypedArray of strings, another common data type. Thanks in advance for your advice and insight. -- Glenn From: Michel Veillette [mailto:Michel.Veillette@trilliantinc.com] Sent: Monday, June 06, 2016 5:34 PM To: ENGEL,GLENN (K-Labs,ex1) >; cbor@ietf.org Subject: RE: Additional data types Hi Glen Multidimensional Arrays are not directly supported in CBOR but you can enco= de arrays within arrays. This should also answer you second question. [cid:image001.png@01D1C09B.A7C9A910] For the representation of the is 48 bits of UTC seconds, CBOR don't support= directly 48 bits unsigned integer. You can either use a unsigned integer 6= 4 bits (major type 0) or byte string of 6 bytes (major type 2). All these data types can be tag if such meta information is required. You w= ill need to request these tags from IANA. The use of tags is not required = when the decoder have enough knowledge of the information received to proce= ss it correctly. By not transmitting tags, you can minimize the payload siz= e. Hope this answer some of your questions. Regards [cid:image001.jpg@01C868D8.BF0BB7E0] Michel Veillette System Architecture Director Trilliant Inc. Tel: 450-531-3109 From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel@keysight= .com Sent: Tuesday, June 7, 2016 12:08 AM To: cbor@ietf.org Subject: [Cbor] Additional data types I'm evaluating use of CBOR as a replacement for a proprietary format that i= s very similar to CBOR. With the addition of TypedArrays most of our data = types are supported. I was pleased to see Null and zero length arrays supp= orted as well. The standard seems to be well thought out! We have several additional data types which I would appreciate being consid= ered or alternatively educating me on how they may already be included in C= BOR. 1. Multidimensional Arrays - perhaps a tag preceding an array of inte= ger dimensions followed by the array data as a single TypedArray. Data wou= ld be in row major format as is used in C, C++, and Python. 2. Jagged Arrays or an Array of Arrays. A tag indicating the dimension of the following= jagged array followed by each array. 3. IEEE1588 Precision Time Protocol Timestamp. The basic time repres= entation is 48 bits of UTC seconds and 32 bits of nanoseconds. An additio= nal 16 bits of subnanoseconds can also be present. Rather than a new tag,= I initially thought this could be covered by using a Decimal Fraction with= -9 as the exponent. The mantissa would be seconds*1e9+nanoseconds. Howev= er, it would appear the RFC restricts the semantic tag for epoch-based date= /time to ints and floats. Perhaps if time could be expressed in integer U= TC milliseconds, microseconds, nanoseconds, and picoseconds accurately that= would fill the need. UTC milliseconds is a very common timestamp method. 4. Time Duration or Interval. This is different from a timestamp in = that it measures a difference in time between two events but with similar p= recision. This would represent a TimeSpan or Duration as is used in some l= ibraries. Thanks in advance for your thoughts on these items, Glenn Engel Keysight Technologies --_000_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

About " so th= e type and dimension properties are needed up front"=

&n= bsp;

CBOR ar= ray already support the "up front" dimension.

&n= bsp;

For the= type part, if your arrays are always homogeneous (array of int, array of s= tring, array of array), your decoder can do a lock up to the next major typ= e following the array tag and dimension to determine the type of this array and perform the proper allocation.

&n= bsp;

If not,= I assume you can register a single tag "TypedArray" and do known= if a lock up is necessary.

&n= bsp;

The alt= ernative method will be to register a tag for each of the TypedArray you ne= ed to support but this seem to be an unbounded list of tags. Carsten can pr= obably give you an advise on this.

Regards= ,

Michel = Veillette

 

 

From: glenn_engel@keysight.com [mailto:glenn_engel@keysight.com]
Sent: Wednesday, June 8, 2016 2:18 AM
To: Michel Veillette <Michel.Veillette@trilliantinc.com>; cbor= @ietf.org
Subject: RE: Additional data types

 

Thanks = for the examples.  cbor.me is a handy tool! 

&n= bsp;

In my c= ase I want to deserialize into a strongly typed language (C++ and C= #) so it is desirable to know the type of the array for memory allocation p= urposes.  Another objective is to be able to round-trip from strongly typed into CBOR and back again resulting in the same types.&= nbsp; This results in somewhat larger encoding in some cases such as a floa= t 1.0 using 4 bytes instead of 2 but it also speeds up serialization.<= /o:p>

&n= bsp;

I think= of the ‘array’  major type as more of a ‘list’= ; which maps nicely in javascript but for analytic data going into C+&#= 43; for signal processing it’s important to keep it as a native array= so the type and dimension properties are needed up front for efficient memory all= ocation of contiguous memory.

&n= bsp;

If I wo= uld like to see a multidimensional array tag that could use the new TypedAr= rays would that be something I would propose to IANA or would it be a tweak= to the existing TypedArray proposal?  I’m thinking a tag that is followed by two items - an array of dimen= sions followed by a single TypedArray.

&n= bsp;

What ab= out a TypedArray of strings, another common data type.

&n= bsp;

Thanks = in advance for your advice and insight.

&n= bsp;

--=

Glenn

&n= bsp;

From: Michel Veillette [mailto:Michel.Veillette@trilliantinc.com]
Sent: Monday, June 06, 2016 5:34 PM
To: ENGEL,GLENN (K-Labs,ex1) <glenn_engel@keysight.com>; cbor@ietf.org
Subject: RE: Additional data types

 

Hi Glen

 

Multidimensional Array= s are not directly supported in CBOR but you can encode arrays within array= s.

This should also answe= r you second question.

 

3D"cid:image001.png@01D1C09B.A7C9A910"<= /span>

 

For the representation= of the is 48 bits of UTC seconds, CBOR don't support directly 48 bits unsi= gned integer. You can either use a unsigned integer 64 bits (major type 0) = or byte string of 6 bytes (major type 2).

 

All these data types c= an be tag if such meta information is required. You will need  to requ= est these tags from IANA. The use of tags is not required when the decoder = have enough knowledge of the information received to process it correctly. By not transmitting tags, you can minimi= ze the payload size.

 

Hope this answer some = of your questions.

 

Regards

 

3D"cid:image001.jpg@01C868D8.BF0BB7E0"

Michel Veill= ette
System Architecture Director

Trilliant In= c.
Tel: 450-531-3109

 

 

From: CBOR [mailto:cbor-boun= ces@ietf.org] On Behalf Of glenn_engel= @keysight.com
Sent: Tuesday, June 7, 2016 12:08 AM
To: cbor@ietf.org
Subject: [Cbor] Additional data types

 

I’m evaluating use of CBO= R as a replacement for a proprietary format that is very similar to CBOR.&n= bsp; With the addition of TypedArrays most of our data types are supported.=   I was pleased to see Null and zero length arrays supported as well.  The standard seems to be well thought out!

 

We have several additional data= types which I would appreciate being considered or alternatively educating= me on how they may already be included in CBOR.

 

1.  = ;     Multidimensional Arrays= – perhaps a tag preceding an array of integer dimensions followed by= the array data as a single TypedArray.  Data would be in row major fo= rmat as is used in C, C++, and Python.

2.  = ;     Jagged Arrays or an Array o= f Arrays.  A tag indicating the dimension of the following jagged arra= y followed by each array.

3.  = ;     IEEE1588 Precision Time= Protocol Timestamp.  The basic time representation is 48 bits of UTC = seconds and 32 bits of nanoseconds.   An additional 16 bits of su= bnanoseconds can also be present.   Rather than a new tag, I initially thought this could be covered by using a Decimal Frac= tion with -9 as the exponent.  The mantissa would be seconds*1e9+n= anoseconds.  However, it would appear the RFC restricts the semantic t= ag for epoch-based date/time to ints and floats.   Perhaps if time could be expressed in integer UTC milliseconds, microsecon= ds, nanoseconds, and picoseconds accurately that would fill the need. = UTC milliseconds is a very common timestamp method.

4.  = ;     Time Duration or Interv= al.  This is different from a timestamp in that it measures a differen= ce in time between two events but with similar precision.  This would = represent a TimeSpan or Duration as is used in some libraries.

 

Thanks in advance for your thou= ghts on these items,

 

Glenn Engel

Keysight Technologies

--_000_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_-- --_005_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_ Content-Type: image/jpeg; name="image001.jpg" Content-Description: image001.jpg Content-Disposition: inline; filename="image001.jpg"; size=26086; creation-date="Wed, 08 Jun 2016 00:39:17 GMT"; modification-date="Wed, 08 Jun 2016 00:39:17 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAF6AmcDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2DNGa ZmkaRURndgqqMlieAKAJM0ZrM0rXtP1vz/7Pn83yG2v8pGDWhmgB+aM0zNGaAH5ozUbSBEZmOFUZ JqOC6iuU3xNke/BoAsZozTM0ZoAfmjNUtR1O10mza6vphFEvc9SfQDua5YfE/TPOwbO7EOf9bjj8 utAHbZozWPZeJtN1G/htLKcTSSwmb5f4QPX0NauaAH5ozTM1Xvr+302ykuruQRwxjJJ/kKALeaM1 hSeKrP7Pps9sj3EV/L5Sshx5Z/2q2icEigBxYAEk4A5JqsL5mGY7S4dT0YAYP61JOf8AR5P90/yq xD/qI/8AdH8qAKn2yX/nxuf/AB3/ABo+2S/8+Nz/AOO/40LqE0rSeRZvIiOU3bwMkU+w1GO/QlVZ HUkFG68HH4igBn2yX/nxuf0/xo+2S/8APjc/+O/41fooAofbJf8Anxuf0/xo+2S/8+Nz/wCO/wCN SJqds+qyacrn7VHGJWXB4UnAOfwq3QBQ+2S/8+Nz/wCO/wCNH2yX/nxuf/Hf8av0UAUPtkv/AD43 P6f40fbJf+fG5/8AHf8AGr9FAFD7ZL/z43P6f40fbJf+fG5/8d/xq/RQBQ+2S/8APjc/+O/40fbJ f+fG5/T/ABq/RQBQ+2S/8+Nz+n+NH2yX/nxuf/Hf8av0UAUPtkn/AD43P6f40fbJf+fG5/8AHf8A Gr9FAFD7ZL/z43P/AI7/AI0fbJf+fG5/T/Gr9FAFD7ZL/wA+Nz/47/jR9sl/58bn/wAd/wAav0UA UPtkv/Pjc/p/jR9sl/58bn/x3/Gr9FAFD7ZL/wA+Nz+n+NH2yX/nxuf0/wAav0UAUPtkv/Pjc/8A jv8AjR9sl/58bn9P8av0UAUPtkv/AD43P/jv+NH2yX/nxuf/AB3/ABq/RQBQ+2S/8+Nz+n+NH2yX /nxuf0/xq/RQBQ+2S/8APjc/+O/40fbJf+fG5/T/ABq/RQBQ+2S/8+Nz/wCO/wCNH2yX/nxuf0/x q/RQBQ+2S/8APjc/+O/40fbJf+fG5/T/ABq/RQBQ+2S/8+Nz+n+NH2yX/nxuf0/xq/RQBQ+2S/8A Pjc/+O/40fbJf+fG5/8AHf8AGr9FAFD7ZL/z43P6f40fbJf+fG5/8d/xq/WRqOrz2148VvCjpCgk mLE5AJ7e+OaALH2yX/nxuf0/xp0d3vkCSQyxE/d345q3G4kjV1+6wBFV7z79v/10/oaAJM0Zpma5 XWvEd5bak9ta4RYzjpkk0AdbmjNclFeeI5ovMQfL/uVSPifVYJdsrqSp5UrigDus0Zqva3H2m1im xjzFDY9KlzQA/NGao6nqtrpFmbq+k8uEELkDJye2Kx/+FgeH/wDn7l/78tQB02aM1jaX4p0rWrk2 9jcM8oXdtZCvH41rZoAx/FPOnL/vCik8UHOmr/viigDWzXn/AI61q7mvn0mMNDaoAZG7ze30rvM1 ma5olvrdoY5MJMo/dyjqD6H2oA4rRvFn9gWnkWfh93J5eXzcFz+VdX4a8Uy+IJp45dMks/KXcGZt wb26daPCdtq+n2s9tqpBjjbFuTgnHf8ACt4tmgB+ajnmMULOFLlR90d6M0u6gCgdUlYEG0yD1G+o Edon8+IbCOqZ6j0rUdm8ttmN2OM+tVba1cHzLg7nznBoAuo+9FbGNwzg9qdmo80ZoA4vxNH/AGv4 30/TLliLVQDt7EkZ/pXR6tp7tpD2ml2VoWYbQJcKFHrWb4r8Pz6p5N7pz7L635X/AGhWUfE3it4/ sg0dBc/d8/n88dKALfhbwnfaHrH2q5FuEMTIfLbJJNdjmsTw1ZajY6YU1a6a4uHcv8xyUB7ZrXzQ A8tgE4Jx2HU15f4i1W98Q6wbZoZI4YZCkVqR8xYdyPWvTgeRXn1nb3A+IfmmCYR/bHO8oduMdc0A Zmj3t1oOrrA1s0sbyqJbVh8wfsyj1r1YPuAbBBPOG6j6155rFvcP4/8AMWCZo/tMJ3hDtxgd69BZ vmP1oAJTmGT/AHTVyH/UR/7o/lVGQ/un/wB01eh/1Mf+6KAM/TXxDP8A9fEn86pT2JsjFcRXU3yT DCEjaAzcj9aS31K1tftEM8jI4uHOPLY8E8dBSXep2tzFHDBIzyNNGQBGw6H3FAHRVzK6jrWt3Fw+ jSWltaW0piDTxlzMy8NjBG0Z47101c1HpOtaRdTpoz2cllcymUrclg0LNy23A5555oW4+hnzDUn8 f3UdgYI5206PfLINyodx/h7/AJ1aTxVdadaanDqkSS32nlB+54Wbf90gdvepLvRtai8SSavp01o5 a0SAwzZAdgSSSQOOvahPCkt5Y6i2p3C/b79lZnhHyxbPuBc9QPfrT6a/1r/kD3+78uo2bUNf0byb vVGtLi0lkWN4oYyrQ7jjOSTux+FKdV1e+8WX2l2T20NvbRQy+bIhYndnIxkenWlbSdc1bybbWZbN LSGRZC1sW3zFTkZBGB+FXbHRprXxTqWpM8Zhuooo0UZ3ArnOfzpx8/62JewzxdrF3omirc2KRvOZ 44wsnQ7mAP8AOs+XVPEFtriaU5tJJL1GkgnVCBAB1DDPzfpU+q6Hq2saO1rdXNsZhepNGwUgCJXD AH3wKv3OkzTeJ7HUldBDbxOjKc7iW6YpJKyv5/lp+I35f1r/AJGXF4pn03S9WfWRE9xpjKrvECqy BvunHOKoaX43eXVrWCTUbG+S7fZ5VtE6tAT0yT94flWrceFXvZNcW4mVYtQMbRlPvIU6E/jirOlR a+lwiakNO8hBjzIN2+T6gjA/Chbq/l/wf6+4T208/wDgG5RRRSGFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBialJNHqX+k3Fxb2bKAkkJGA3fd xV210yCKOfMkk5uR87yNksMY/lSa1P5GlTtgEsNoz0545qjFqUsMEcOm2jXUFuoV5c4zj+760ARX 0RsVW2sb28kuiP3UIYEKP9rjgVrXG7bbb8bt4zj1xWdpl3C+tTGA7lukDnI+ZGHBB9K073rD/wBd P6GgBua5VII5/GE/mDIVs4rps1zN8skGsyzx8NuyPegDs1ZdgKkBQPyrgNaKXVxdToBjfkGr93rd zPCYYYjDu4ds9fpWe0TPEExx396AOt0w/wDErtf+uYq1mqtkNllAvTCAVNmgDM8T3cNpozSXFgb9 N4Hk+/rXFf29pv8A0KA/77P+Fdzrb6munMdFCNd7hjeARt79a5vzvHv9yD/v0lAFjwnqlnd6m8dv oH2B9hPmg549K6/Nc3oMvidr1hriRC228FUVTu/CugzQBl+Jv+QaP98UUniT/kGD/fFFAGlmjNSf Y5fVfzo+xy/7P50AR5ozUn2OX1X86Pscvqv50AR5ozUn2OX1X86Pscvqv50AR5ozUn2OX/Z/Oj7H L6r+dAEeaM1J9jl/2fzo+xy/7P50AR5pd7Yxk0/7HL6r+dH2OX1X86AI80ZqT7HL6r+dH2OX/Z/O gCPNL5jYxuOPTNP+xy+q/nR9jl9V/OgBnmMBgMcemaTNSfY5fVfzo+xy+q/nQBGfmVh6girEd4iR qrLJkAA4XNR/Y5fVfzpfsk3qPzoAcbmAnPlyf98GgXMAOfLk/wC+DTfsk3qPzo+yTeo/OgCX7dH/ AHZP++DR9uj/ALsn/fBqL7JN6j86Psk3qPzoAl+3R/3ZP++DR9uj/uyf98Govsk3qPzo+yTeo/Og CX7dH/dk/wC+DR9uj/uyf98Govsk3qPzo+yS+o/OgCX7dH/dk/74NH26P+7J/wB8Gofsk3qPzpfs k3qPzoAl+3R/3ZP++DR9uj/uyf8AfBqL7JN6j86Psk3qPzoAl+3R/wB2T/vg0fbo/wC7J/3wai+y Teo/Oj7JN6j86AJft0f92T/vg0fbo/7sn/fBqL7JN6j86Psk3qPzoAl+3R/3ZP8Avg0fbo/7sn/f BqL7JN6j86T7JN6j86AJvt0f92T/AL4NH26P+7J/3wai+yTeo/Oj7JL6j86AJft0f92T/vg0fbo/ 7sn/AHwai+yTeo/Oj7JN6j86AJft0f8Adk/74NH26P8Auyf98Govsk3qPzo+yTeo/OgCX7dH/dk/ 74NH26P+7J/3wai+yTeo/Oj7JN6j86AJft0f92T/AL4NH26P+7J/3wai+yTeo/Oj7JN6j86AJft0 f92T/vg0fbo/7sn/AHwah+yTeo/Ol+yTeo/OgCX7dH/dk/74NH26P+7J/wB8Gofsk3qPzpfsk3qP zoAl+3R/3ZP++DR9uj/uyf8AfBqL7JN6j86Psk3qPzoAl+3R/wB2T/vg0fbo/wC7J/3wai+yTeo/ Oj7JL6j86AJft0f92T/vg0fbo/7sn/fBqL7JN6j86Psk3qPzoAl+3R/3ZP8Avg0fbo/7sn/fBqL7 JN6j86Psk3qPzoAl+3R/3ZP++DR9uj/uyf8AfBqL7JN6j86T7JN6j86AJHu4ZEKvG7KeoMeQaVLu GNQqRuqjoBHgCo/sk3qPzo+yTeo/OgBy3FusjSLCwdurCPk/jTJ5xOY9qsAp3EsMUv2Sb1H50n2S X1X86AI81HJBFKcyICfWrH2OX/Z/Oj7HL6r+dAFT7Hb/APPIUotLcEERDNWvscvqv50fY5fVfzoA jzRmpPscv+z+dH2OX/Z/OgCPNGak+xy+q/nQbOUDqv50AR5ozVWW8jhlaN925euBTP7Qi9H/ACoA h8RHOlj/AHxRTNccS6Mjr0Z+M0UAdTRRTXdY0LOQFUZJPYUAOorFHjHw+z7V1e0LE4wHrUa6gS1N y0qCBV3mTPGPXNaSpVIfFFr5CumTUUyKVJ4kliYMjgMrDoQafWYwooooAKKKKACiimu6xoXdgqqM knoKAHUVXkvraFYWknRVnYJGSfvk9AKsU2mtwCiqeqanBpNi9zcnCr0A6sfSuAvvHOp3MjfZitvH n5QBk496ltIwq4iFLSR6XRXk/wDwlmt/8/7/APfK/wCFSweMtZhfc1yJR6Oox+lLmRisdT7M9Tor D8OeJoddjZGXyrlBlkz1HqK3Krc64TU1zRCiiigoKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiisnX/ABBBoVsHkHmTPwkYPX/61BMpKKuzWory658aaxcOSk6wj0RR/WoP+Es1v/n/AH/75X/C p5kcjx1Psz1iivMbPxtq1s4M0i3C55DjH8q73RdZg1uyE8HykcOh6qaaaZtSxEKrstzRooqGK7gm nlgimR5YceYinJTPTNM3JqKz7/XtL0ueOG+voIJZPuo74Jq+rB1DKQVPII70ALRVHUda07SNn9o3 kNt5n3PMbG76Umn65puqsy2F7BcMvUI2SKv2U+Xn5XbuK6L9FFRyzxw7PNdU3sFXJxk+lRuMkooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkb7p+lLSN90/SgDltQ/4 /pfrVerGof8AH9L9ar0AS6p/yL0P+/8A1oo1T/kXof8Af/rRQB1tVtR/5Bt1/wBcm/lVmqWrzw2+ l3DXE0UKFCu+Vgq5PA5NVBXkrDW5ieAraGTwPpu+GNsxHOVHPzGs6xu5dFXxXZ2pHlWC+dbq43Km 5C2PpntVPw34qbRNCtNNkt7R3gUqZRqEO08k565xzU6SadHoOtiTWtNm1PU1dm23ChQSpCqMnt0r 2J0pqrUc1dSenX7V7/df7zKLVkjYm1fUH0vSzFJb2ouYBJNeSAbYztBwFJ5J9Kg0jxS63uo2l5dR 3q2cH2j7RHF5eRjkFaxLi5soptGu2utN1FLO0EL2bXUY2vgfOMnFS295aXniC/uL/UNMgsruy+zo iXSExdsHnk/Sl9WjyO8dNemt7/ft6ISk7L5fpcvXOr+Iv+EYm8QW8tsIzCZY7Nos7V7Evnk45xVi 917VRP4fhs/JLaihMxdfu/KDkfTPSue1LX3svBdzo6XGnSeTbmNLpLpCroOgCZ3bsVojUNOkvfDk 8eqWBis4WExa5UFcqMcZ9qp0LK7grXlbTpy6X+ffUaennZmxY6vfWGu3Ol6tPHciO1N2k6R+X8oO CCtV4NS16/0o63by26W+GeOyMeS6A937E49Kq3N9pdz4ze9fVNP+wyae1szfaUzuLdMZ9Kp2uuHT tFOhw3emSqFaOK9+2IEVSeMrnOQD2rNULpSjFXdr3WnW/wCm2vYd9fL/AIC/4Jqah4sknTSvsk6W FvqERl+2TR71Q/3MdMn3pdZOqT+C9VEl/aSbYmKXMKg+YmOQV6A9uDVZtW03SdGs9OtZ9J1Ozhi8 uSJ7lA5PqNx24rPsv7NNnrQXUdO0+LUISkVkLpGWJsfe4OBn2qo0krSjGyT7Xvr960+QReqv5GrH fahpOheHUa4iuGurmKJmMIGEK9APXjrV3+0NU1vU76DSbmGzgsXEZkeLzDK+ORjIwBWDJqlvfaZo Ucl1YQS2F5G0qteRn5FBG4EH9KsQ63aaBqV/Lp9zYX1vfS+aFW8jRomxznJ5H0olRbu1H3teitv9 22xKdkvl+v8AwDP8W6le3aWUOoW5tp0Us8ecgnJGR9cVzZIHWtvxEZrpLW+nvre9ZwUZ7cgohznb kegNZVrdSWc3mxBC2MfOgYfka8WurVJL+vxPJxH8V3INy+o/OpZreW3KCZCu9dyk9CPar39v3v8A ctP/AAGT/CpNX119Utbe38tEjhXrsAJP4dBWfQztCz1IvD901nrtpIpIzIEOO4PFevV5BoNs13rl nGuciQN+XNev1UD0MBflYUUUVZ3hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5X4wumufEl wrE4hxGBXqleVeL7ZrfxJdFs4lIkH41Mtjix1/Zr1MmGCW5lEcKF3PYVGSFYgkZBwea09E1l9Hnd hGrxyKVcFQT+FB1+83HalpjPGbZOn5VB5qUeW7epmAg9Dmum8BXTRa8YATtmjOR9Oawbu+lvmVph ECowPLjCfyrd8B27S+IPOAO2GNs/jxQty6H8WPKeg6hBcXNjLFaXP2aZxhZdu7b74rkvA2nJpXiX xLapLNNtliZpJm3MzFMkk121c/oml3dn4n168njCwXbxGFgwO4BcHjtzW0d36fqj3HsM1Swg0e0v 7m20y41K4vCWdeHOcYxz0X6UvgQIvhCyjS5W48tSrMCflOeV59OlJLc+ItOuriNbIapDK5aCRJEi 8lf7rA9fqKseFNDl0LSniuJFe4nme4lKfdDMckD2pR2fy/4YJGL4tnNr418Pyi0luyqTfuYlBY/L 2B4pl1qEV54o0b7Rp93pOyRiksyKvmnH+r+Unr70vivUI7TxZpV7DJazNYiRZoGukjcblwPvGobv W7bxHd6f9tuLHTrezuBcNvvI3aQjoBtPHWvapwbp03y6crV76q7l0+fYzm9zfsdanj1XV7TUmQC0 AmiYDGYiM/p0rmtTl1jVbTQLuS8it2nvQUQQBtoydp688U3xrqWnXd/p8unatY+ZcN9luT5ykeSe Wzg1oeINT0t7XTDpuo6fM1hOkgh+1IpZRxgEnFKlScHCajrLy2smuvdhN3uv6/rcuajrtzJrb6Pa X1rZvbxLJPdTgHk9AqkjNRJ4suItP1VGWG7vNPUMHgOVlU9GwOmO4rL1K40Y63Jq4/sjUhcxKstr LPEXjYdCpbj61a0rVbKxgvZ4bvQbSWbHk2iyIoQDszL1JpOhFU17l9vv0v59/KwX10NPQ7/ULyaG VdXsdQgkGZI0QRvF9ACSfxxXS15x9q07UtasbmIabpEtvOJJZ0u4yZx3XCnnPvXowIIBByD0NcmM p8kk7Wv5L9NBxYtFFFcRYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSN90/SlpG+6f pQBy2of8f0v1qvVjUP8Aj+l+tV6AJdU/5F6H/f8A60Uap/yL0P8Av/1ooA62mSwxzxlJo0kQ9VdQ R+VPqve3D20AaNVZ2dVAY4HJxRewDP7K0/8A58bX/vyv+FH9laf/AM+Nr/35X/Ck36j/AM8rb/vs /wCFG/Uf+eVt/wB9n/Cr9pLuFhf7K0//AJ8bX/vyv+FH9k6f/wA+Nr/35X/Ck36j/wA8rb/vs/4U b9R/55W3/fZ/wo9pLuFjPi8F+HoL37ZHpFqs+d27Z3+nStH+ytP/AOfG1/78r/hSb9R/55W3/fZ/ wo36j/zytv8Avs/4U5Vqkvik38xWQv8AZWn/APPja/8Aflf8KP7K0/8A58bX/vyv+FJv1H/nlbf9 9n/CjfqP/PK2/wC+z/hS9pLuOwv9laf/AM+Nr/35X/Cj+ytP/wCfG1/78r/hSb9R/wCeVt/32f8A CjfqP/PK2/77P+FHtJdwsL/ZWn/8+Nr/AN+V/wAKP7K0/wD58bX/AL8r/hSb9R/55W3/AH2f8KN+ o/8APK2/77P+FHtJdwsQ6joVnqGmvZ+UkSE7l8tQNrevFcBfeDNVs5GEUP2hAeGj6kfSvRd+o/8A PK2/77P+FG/Uf+eVt/32f8KzkubVmFXDwq6vc8u/4RzWP+gbc/8AfNSweFdYnfb9hkj95OBXpm/U f+eVt/32f8KN+o/88rb/AL7P+FLkMPqEO7Mvwz4XTREM0zCS6cYLDoo9BXQVT36j/wA8rb/vs/4U b9R/55W3/fZ/wqkrHZCEYLliXKKp79R/55W3/fZ/wo36j/zytv8Avs/4UFFyiqe/Uf8Anlbf99n/ AAo36j/zytv++z/hQBcoqnv1H/nlbf8AfZ/wo36j/wA8rb/vs/4UAXKKp79R/wCeVt/32f8ACjfq P/PK2/77P+FAFyiqe/Uf+eVt/wB9n/CjfqP/ADytv++z/hQBcoqnv1H/AJ5W3/fZ/wAKN+o/88rb /vs/4UAXKKp79R/55W3/AH2f8KN+o/8APK2/77P+FAFyiqe/Uf8Anlbf99n/AAo36j/zytv++z/h QBcrF8R+HYtdt1+by7iP7j4/Q1e36j/zytv++z/hWfbXmrX4kkgFrGiOY8MSeRVRhzIzqKMlyyV7 nC3PhPWLZyv2N5R6x8ioP+Ec1j/oG3P/AHzXo+3W/wC/Z/kaNut/37P8jR7FfzI43g4eZwNp4Q1e 7cBrYwLnlpeMV6DoWhwaHZeTEd8jcySHqxpm3W/79n+Ro263/fs/yNNUkuqNqVCFJ3SdzWorJ263 /fs/yNG3W/79n+Rp+z80b83ka1FZO3W/79n+Ro263/fs/wAjR7PzQc3kXZdPs5pC8tpbu56s0YJP 44pv9laf/wA+Nr/35X/Cqm3W/wC/Z/kaNut/37P8jVe8vtfiw5vIdF4a0aG9lu49MtVnlADv5Y5H 06VZ/srT/wDnxtf+/K/4VU263/fs/wAjRt1v+/Z/kabc3vP8WHN5Fv8AsrT/APnxtf8Avyv+FH9l af8A8+Nr/wB+V/wqpt1v+/Z/kaNut/37P8jR738/4sObyLY0qwByLG1z/wBcV/wq0OOBWVt1v+/Z /kaNut/37P8AI1Li3vIObyNaisnbrf8Afs/yNG3W/wC/Z/kaXs/NBzeRrUVk7db/AL9n+Ro263/f s/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeR rUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n +Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yNHs/NBzeRrUVk7db/AL9n+Ro263/fs/yN Hs/NBzeRrUjfdP0rJf8AttEZi9ngDPermn3ZvtOjuCu0uvI96ThZXuNSu7GBqH/H9L9ar1Y1D/j+ l+tV6gol1T/kXof9/wDrRRqn/IvQ/wC//WigDrap6n/qIv8Arsn86uVT1P8A1EX/AF2T+dAGfruo 6lb6jYWWli0ElyWLNchiAFx029+a213bRuxuxzjpmsHVefFejf7sv8hW/Uxe/qN7oKKKKoQUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV 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 er/99Gj7RN/z1f8A76NAHU1k+H/+PW5/6+X/AKVmfaJv+er/APfRpFkeMYRmUHk4OOatP3WiWtUz qqK5b7RN/wA9X/76NH2ib/nq/wD30ago6miuW+0Tf89X/wC+jR9om/56v/30aAOporlvtE3/AD1f /vo0faJv+er/APfRoA6miuW+0Tf89X/76NH2ib/nq/8A30aAOporlvtE3/PV/wDvo0faJv8Anq// AH0aAOporlvtE3/PV/8Avo0faJv+er/99GgDqaK5b7RN/wA9X/76NH2ib/nq/wD30aAOporlvtE3 /PV/++jR9om/56v/AN9GgDqaK5b7RN/z1f8A76NH2ib/AJ6v/wB9GgDqaK5b7RN/z1f/AL6NH2ib /nq//fRoA6miuW+0Tf8APV/++jR9om/56v8A99GgDqaK5b7RN/z1f/vo0faJv+er/wDfRoA6miuW +0Tf89X/AO+jR9om/wCer/8AfRoA6miuW+0Tf89X/wC+jR9om/56v/30aAOporlvtE3/AD1f/vo0 faJv+er/APfRoA6miuW+0Tf89X/76NH2ib/nq/8A30aAOporlvtE3/PV/wDvo0faJv8Anq//AH0a AOln/wBRJ/un+VZ+gf8AICg/3TWV58p4Mr4/3jSLI8ahUdlUdgcCrT91om3vXN/FGPasHzpP+ej/ AJ0edJ/z0f8AOoKJvE3/ACDV/wB8UVnam7PZNuYnkdTRQB//2Q== --_005_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_ Content-Type: image/jpeg; name="image002.jpg" Content-Description: image002.jpg Content-Disposition: inline; filename="image002.jpg"; size=1561; creation-date="Wed, 08 Jun 2016 00:39:18 GMT"; modification-date="Wed, 08 Jun 2016 00:39:18 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAAXAHgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1HV9X j0uFfkMs8pxFEv3nNZ2nzz3d3uupmllHWKHhIvbPc0XWnzXV5NcsWEjt5UT94k7kfX1q5pthHaI8 fmgMc4QNyPf3JqXucTc6k/IjstV/4mf2eRi0U+WhY9VI6qawNeg8XRXt3c2dzElig3IO+KsSW8yX CysMFbhGB6HJznNdJrXGi3n/AFxb+VaUpWkEJOpGXN0PNdE1Txb4hEx0+9XMRwwfpXeadqYsdOgi 1u+gF8E/e/MOtcn8Kji31MjjFY3hjQbfxR4i1FNSaVwhZgd3PWu2rBSbvpaxNObio+Z2t9cao/iy 0+yajbLprgFoS3zN9Ky9K8RajceLdVtZbgNBBHIyRkcgjpWbq9tHZ/EzSreEEJCqKuT2pdF58da5 k/8ALKX+VCpJRv5BKo3K3mWvDmu61q3hfU3N9ELuJx5cr8Kvsa6vQ76S30GCbWL2GSUnBlVvlrzf Rcf8K+1v/rqtbFt/ZS/DWy/tgSeQZMqkRwWNKpSi/vCnUlH7jvBr2l8f6fb5PA+cVZku7eCAzSzR pF/fZuK8Zvv+Eaayk+xWN+k5+47k7V96ty3Ms/wu2zOWMV0EBJ7VLwqte/WxSxTvY9ROvaZ0+3W/ /fYqW4v7a2sXuTNH5arkMW4Jri9K+H+i33h23upIpfPkh3k7zjOPSszwZZjWNI1jS72R5LeFtyc8 gio9jF3lfYv2s9F3Oh8JeNG1ma6j1AwQFGxEM/e5orl/h/oFnq2oXMt0H32cgaPaeDyetFFanSU2 gpTk4I9G1W0u2XzLV1b5cPDJ91x9exrljqiWt5snmlglXHykbwPxFFFcc9Gc+MbjJWOnspINXtg4 beyMNzbcZxVzU4GuNMuIo8bnjKjP0ooq47pnZT96nqcp4B8P32iw36XioGl+6FbNR+CfDd/o2vah cXiRqsudu18980UV0zm3zeZCivdHav4bv73x/Z6nCqG1jAyS3PHtUemeGNQtvFOqXsqxiC4SRUIY E5PtRRQqsrJeRLpxu2UNM8I6nbeENUspFj86aRWTDjBAqS68Fahd+CtPtE8sXVrIXALcHPvRRVSr SX3kqlFr5Ec2leL57E2kkdl5ZXacFQcU1vCOqDwHNpxWL7T9oEgG/jH1ooqvbS0XmTGCv8jutGtZ bXw7a20uPMSDa2DxnFc34K8OX2lTat9sCKLkkIVbP50UVzqbSl5nQ4puJl6H4a8SaBq7/ZnhFtJN +8+YfMM56UUUVpOo5O7RFOPKrI//2Q== --_005_BLUPR06MB17635547DFEC2F139C08E518FE5E0BLUPR06MB1763namp_-- From nobody Wed Jun 8 14:58:09 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E31E912D50D for ; Wed, 8 Jun 2016 14:58:07 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -5.625 X-Spam-Level: X-Spam-Status: No, score=-5.625 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9So8ZcKvovKf for ; Wed, 8 Jun 2016 14:58:05 -0700 (PDT) Received: from cos-us-iron01k.cos.keysight.com (cos-us-iron01k.cos.keysight.com [192.25.5.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3931212D0A7 for ; Wed, 8 Jun 2016 14:58:04 -0700 (PDT) X-IPAS-Result: A2CMAgAElFhXbRUYjJxbAxkBAQEBAYJSgSR9BrsPgXoiBnGEegKBfxMBAQEBAQEBEhgzL4RFAQEBAQMFIAgBWwIBCBEBAwEBBgEBAQIIDgEGBwIFEA8MFAMGCAEBBAERAQgGiCEOvgcBAQEBAQEBAQEBAQEBAQEBAQEBAQEODop0hEIMCQoVAg+CZYIuBZVgeAOBdIUWAWyCNESHFE6EDoMihTiPWQggAoI2AxyBS24BiQ8BfgEBAQ X-IronPort-AV: E=Sophos;i="5.26,441,1459836000"; d="jpg'145?scan'145,208,217,145";a="32583087" X-Attachment-OP-filename: image005.jpg, image006.jpg Received: from wcosexch02k.cos.is.keysight.com (HELO 2k10hubs.keysight.com) ([156.140.24.21]) by cos-us-iron01k.cos.keysight.com with ESMTP/TLS/AES128-SHA256; 08 Jun 2016 15:33:17 -0600 Received: from wcosexch01k.cos.is.keysight.com ([169.254.3.99]) by wcosexch02k.cos.is.keysight.com ([169.254.2.149]) with mapi id 14.03.0266.001; Wed, 8 Jun 2016 15:58:01 -0600 From: To: , Thread-Topic: Additional data types Thread-Index: AdHAP6Oy25pLOQV2Rp6gIejeIb5M2gAEoPxgACDdFeAAEZrJ8AAq+nGg Date: Wed, 8 Jun 2016 21:58:01 +0000 Message-ID: <04EFF12F483FA149B07653989B86861F2178EE92@wcosexch01k.cos.is.keysight.com> References: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> <04EFF12F483FA149B07653989B86861F2178DD15@wcosexch01k.cos.is.keysight.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [156.140.13.70] x-tm-as-product-ver: SMEX-11.0.0.4255-8.000.1202-22380.003 x-tm-as-result: No--41.015800-8.000000-31 x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No Content-Type: multipart/related; boundary="_005_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_"; type="multipart/alternative" MIME-Version: 1.0 Archived-At: Subject: Re: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 21:58:08 -0000 --_005_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_ Content-Type: multipart/alternative; boundary="_000_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_" --_000_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I agree that a sea of tags would be a poor approach. I don't yet see how C= BOR would support multi-dimensional arrays without either assumptions on th= e decoder's part to expect it in places or introducing at least one tag. Something like: Tag: XX Data Item: array Semantics: Multi-dimensional array A multi-dimensional array is represented as a tagged array that contains tw= o arrays. The first array defines the dimensions of the multi-dimensional = array while the second array represents the contents of the multi-dimension= al array. If the second array is itself tagged as a TypedArray then the ty= pe of the multi-dimensional array is assumed to be the same type as the Typ= edArray. Data in = the TypedArray byte string is considered to be in row major order. I would imagine the encoding as follows. Hopefully I read the spec right..= . uint16_t a[2][3] =3D { {0, 1, 2}, /* row 0 */ {3, 4, 5}, }; # multi-dim array 82 # array(2) 82 # array(2) 02 # unsigned(2) 1st Dimension 03 # unsigned(3) 2nd Dimension d8 41 # uint16 array 4a # byte string(12) 00 00 # unsigned(0) 00 01 # unsigned(1) 00 02 # unsigned(2) 00 03 # unsigned(3) 00 04 # unsigned(4) 00 05 # unsigned(5) Regards, -- Glenn From: Michel Veillette [mailto:Michel.Veillette@trilliantinc.com] Sent: Tuesday, June 07, 2016 5:39 PM To: ENGEL,GLENN (K-Labs,ex1) ; cbor@ietf.org Subject: RE: Additional data types About " so the type and dimension properties are needed up front" CBOR array already support the "up front" dimension. For the type part, if your arrays are always homogeneous (array of int, arr= ay of string, array of array), your decoder can do a lock up to the next ma= jor type following the array tag and dimension to determine the type of thi= s array and perform the proper allocation. If not, I assume you can register a single tag "TypedArray" and do known if= a lock up is necessary. The alternative method will be to register a tag for each of the TypedArray= you need to support but this seem to be an unbounded list of tags. Carsten= can probably give you an advise on this. Regards, Michel Veillette From: glenn_engel@keysight.com [mailto:gle= nn_engel@keysight.com] Sent: Wednesday, June 8, 2016 2:18 AM To: Michel Veillette >; cbor@ietf.org Subject: RE: Additional data types Thanks for the examples. cbor.me is a handy tool! In my case I want to deserialize into a strongly typed language (C++ and C#= ) so it is desirable to know the type of the array for memory allocation pu= rposes. Another objective is to be able to round-trip from strongly typed = into CBOR and back again resulting in the same types. This results in some= what larger encoding in some cases such as a float 1.0 using 4 bytes instea= d of 2 but it also speeds up serialization. I think of the 'array' major type as more of a 'list' which maps nicely in= javascript but for analytic data going into C++ for signal processing it's= important to keep it as a native array so the type and dimension propertie= s are needed up front for efficient memory allocation of contiguous memory. If I would like to see a multidimensional array tag that could use the new = TypedArrays would that be something I would propose to IANA or would it be = a tweak to the existing TypedArray proposal? I'm thinking a tag that is fo= llowed by two items - an array of dimensions followed by a single TypedArra= y. What about a TypedArray of strings, another common data type. Thanks in advance for your advice and insight. -- Glenn From: Michel Veillette [mailto:Michel.Veillette@trilliantinc.com] Sent: Monday, June 06, 2016 5:34 PM To: ENGEL,GLENN (K-Labs,ex1) >; cbor@ietf.org Subject: RE: Additional data types Hi Glen Multidimensional Arrays are not directly supported in CBOR but you can enco= de arrays within arrays. This should also answer you second question. [cid:image001.png@01D1C09B.A7C9A910] For the representation of the is 48 bits of UTC seconds, CBOR don't support= directly 48 bits unsigned integer. You can either use a unsigned integer 6= 4 bits (major type 0) or byte string of 6 bytes (major type 2). All these data types can be tag if such meta information is required. You w= ill need to request these tags from IANA. The use of tags is not required = when the decoder have enough knowledge of the information received to proce= ss it correctly. By not transmitting tags, you can minimize the payload siz= e. Hope this answer some of your questions. Regards [cid:image001.jpg@01C868D8.BF0BB7E0] Michel Veillette System Architecture Director Trilliant Inc. Tel: 450-531-3109 From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel@keysight= .com Sent: Tuesday, June 7, 2016 12:08 AM To: cbor@ietf.org Subject: [Cbor] Additional data types I'm evaluating use of CBOR as a replacement for a proprietary format that i= s very similar to CBOR. With the addition of TypedArrays most of our data = types are supported. I was pleased to see Null and zero length arrays supp= orted as well. The standard seems to be well thought out! We have several additional data types which I would appreciate being consid= ered or alternatively educating me on how they may already be included in C= BOR. 1. Multidimensional Arrays - perhaps a tag preceding an array of integ= er dimensions followed by the array data as a single TypedArray. Data woul= d be in row major format as is used in C, C++, and Python. 2. Jagged Arrays or an Array of Arrays. A tag indicating the dimension of the following = jagged array followed by each array. 3. IEEE1588 Precision Time Protocol Timestamp. The basic time represe= ntation is 48 bits of UTC seconds and 32 bits of nanoseconds. An addition= al 16 bits of subnanoseconds can also be present. Rather than a new tag, = I initially thought this could be covered by using a Decimal Fraction with = -9 as the exponent. The mantissa would be seconds*1e9+nanoseconds. Howeve= r, it would appear the RFC restricts the semantic tag for epoch-based date/= time to ints and floats. Perhaps if time could be expressed in integer UT= C milliseconds, microseconds, nanoseconds, and picoseconds accurately that = would fill the need. UTC milliseconds is a very common timestamp method. 4. Time Duration or Interval. This is different from a timestamp in t= hat it measures a difference in time between two events but with similar pr= ecision. This would represent a TimeSpan or Duration as is used in some li= braries. Thanks in advance for your thoughts on these items, Glenn Engel Keysight Technologies --_000_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I agree that a sea of = tags would be a poor approach.  I don’t yet see how CBOR would s= upport multi-dimensional arrays without either assumptions on the decoder&#= 8217;s part to expect it in places or introducing at least one tag.

 

Something like:

 

Tag: XX

Data Item: array<= /o:p>

Semantics: Multi-dimen= sional array

 

A multi-dimensional ar= ray is represented as a tagged array that contains two arrays.  The fi= rst array defines the dimensions of the multi-dimensional array while the s= econd array represents the contents of the multi-dimensional array.  If the second array is itself tagged as a T= ypedArray then the type of the multi-dimensional array is assumed to be the= same type as the TypedArr= ay.   Data in the TypedArray byte string is considered to be = in row major order.

 

I would imagine the en= coding as follows.  Hopefully I read the spec right…<= /span>

 

uint16_t a[2][3] =3D { 

  {0, 1, 2},   /* row 0 */

  {3, 4, 5}, 

};

 

<Tag XX>    # multi-dim array=

   82       # array(2= )

 

      82    # array(2= )

         02 # unsigne= d(2) 1st Dimension

        03 # unsigned= (3) 2nd Dimension

 

     d8 41 # uint16 array=

         4a &nbs= p;  # byte string(12)

           =  00 00 # unsigned(0)

           =  00 01 # unsigned(1)

           =  00 02 # unsigned(2)

           =  00 03 # unsigned(3)

           =  00 04 # unsigned(4)

           =  00 05 # unsigned(5)

 

Regards,

 

--

Glenn

 

From: Michel Veillette [mailto:Michel.Veillet= te@trilliantinc.com]
Sent: Tuesday, June 07, 2016 5:39 PM
To: ENGEL,GLENN (K-Labs,ex1) <glenn_engel@keysight.com>; cbor@= ietf.org
Subject: RE: Additional data types

 

About &= quot; so the type and dimension proper= ties are needed up front"

 

CBOR array already sup= port the "up front" dimension.

 

For the type part, if = your arrays are always homogeneous (array of int, array of string, array of= array), your decoder can do a lock up to the next major type following the= array tag and dimension to determine the type of this array and perform the proper allocation.

 

If not, I assume you c= an register a single tag "TypedArray" and do known if a lock up i= s necessary.

 

The alternative method= will be to register a tag for each of the TypedArray you need to support b= ut this seem to be an unbounded list of tags. Carsten can probably give you= an advise on this.

 

Regards,

Michel Veillette<= /o:p>

&n= bsp;

&n= bsp;

From: glenn_engel@keysight.com [mailto:glenn_engel@keysight.com]
Sent: Wednesday, June 8, 2016 2:18 AM
To: Michel Veillette <Michel.Veillette@trilliantinc.com>; cbor@ietf.org
Subject: RE: Additional data types

 

Thanks for the example= s.  cbor.me is a handy tool! 

 

In my case I want to d= eserialize into a strongly typed language (C++ and C#) so it is des= irable to know the type of the array for memory allocation purposes.  = Another objective is to be able to round-trip from strongly typed into CBOR and back again resulting in the same types. = This results in somewhat larger encoding in some cases such as a float 1.0= using 4 bytes instead of 2 but it also speeds up serialization.=

 

I think of the ‘= array’  major type as more of a ‘list’ which maps ni= cely in javascript but for analytic data going into C++ for signal = processing it’s important to keep it as a native array so the type an= d dimension properties are needed up front for efficient memory allocation of contiguo= us memory.

 

If I would like to see= a multidimensional array tag that could use the new TypedArrays would that= be something I would propose to IANA or would it be a tweak to the existin= g TypedArray proposal?  I’m thinking a tag that is followed by two items - an array of dimensions followed by a= single TypedArray.

 

What about a TypedArra= y of strings, another common data type.

 

Thanks in advance for = your advice and insight.

 

--

Glenn

 

 

Hi Glen=

&n= bsp;

Multidi= mensional Arrays are not directly supported in CBOR but you can encode arra= ys within arrays.

This sh= ould also answer you second question.

&n= bsp;

3D"cid:image001.png@01D1C09B.A7C9A910"

&n= bsp;

For the= representation of the is 48 bits of UTC seconds, CBOR don't support direct= ly 48 bits unsigned integer. You can either use a unsigned integer 64 bits = (major type 0) or byte string of 6 bytes (major type 2).

&n= bsp;

All the= se data types can be tag if such meta information is required. You will nee= d  to request these tags from IANA. The use of tags is not required wh= en the decoder have enough knowledge of the information received to process it correctly. By not transmitting tags, yo= u can minimize the payload size.

&n= bsp;

Hope th= is answer some of your questions.

&n= bsp;

Regards=

&n= bsp;

3D"cid:image001.jpg@01C868D8.BF0BB7E0"

Michel Veill= ette
System Architecture Director

Trilliant In= c.
Tel: 450-531-3109

&n= bsp;

&n= bsp;

From: CBOR [mailto:cbor-bounces@ietf.org] On Behalf Of glenn_engel= @keysight.com
Sent: Tuesday, June 7, 2016 12:08 AM
To: cbor@ietf.org
Subject: [Cbor] Additional data types

 

I’m evaluating use of CBOR as a replacement fo= r a proprietary format that is very similar to CBOR.  With the additio= n of TypedArrays most of our data types are supported.  I was pleased = to see Null and zero length arrays supported as well.  The standard seems to be well thought out!

 

We have several additional data types which I would = appreciate being considered or alternatively educating me on how they may a= lready be included in CBOR.

 

1.      Multidimensional Arrays – perhaps a tag prece= ding an array of integer dimensions followed by the array data as a single = TypedArray.  Data would be in row major format as is used in C, C+= +, and Python.

2.      Jagged Arrays or an Array of Arrays.  A tag indica= ting the dimension of the following jagged array followed by each array.

3.      IEEE1588 Precision Time Protocol Timestamp.  T= he basic time representation is 48 bits of UTC seconds and 32 bits of nanos= econds.   An additional 16 bits of subnanoseconds can also be pre= sent.   Rather than a new tag, I initially thought this could be covered by using a Decimal Fraction with -9 as the exponent.=   The mantissa would be seconds*1e9+nanoseconds.  However, it= would appear the RFC restricts the semantic tag for epoch-based date/time = to ints and floats.   Perhaps if time could be expressed in integer UTC milliseconds, microseconds, nanoseconds, and pico= seconds accurately that would fill the need.  UTC milliseconds is a ve= ry common timestamp method.

4.      Time Duration or Interval.  This is different = from a timestamp in that it measures a difference in time between two event= s but with similar precision.  This would represent a TimeSpan or Dura= tion as is used in some libraries.

 

Thanks in advance for your thoughts on these items,<= o:p>

 

Glenn Engel

Keysight Technologies

--_000_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_-- --_005_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_ Content-Type: image/jpeg; name="image005.jpg" Content-Description: image005.jpg Content-Disposition: inline; filename="image005.jpg"; size=32515; creation-date="Wed, 08 Jun 2016 21:58:00 GMT"; modification-date="Wed, 08 Jun 2016 21:58:00 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAHZAwEDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2DNGa bmjOeBjPvQA7NGaTr07Umcf4UAOzRmm5ozQA7NGabmjNADs0ZpM56DNJn3596AHZozTc0ZoAdmjN Nz/kUbsAkkADqewoAdmjNQrcwuQqzxFvQNUhIXG44zx75oAdmjNNzRmgB2aM03PvijJPsfT0oAdm jNMeRIl3SSIgHdjgUBgQCCCD3HSgB5OfpTXkVFLuwVR60E5zVe8AfylP3S4GKAE/tazGR5pyO2DR /a1n/wA9W/75NXfKjGMIv5UxpIEOGaNW9DigCr/a1n/z1b/vk0f2tZ/89G/75NW0aGTOwxtj+7g0 4Ip+8i/lQBS/taz/AOejf98mj+1rP/nq3/fJq/5af3F/Kjy0/ur+VAFD+1rP/no35Gj+1rP/AJ6t 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 Rk/5G2L/AK5Hisz4bMG0C5IOR9tm5/GtKnT0Jj1OvooorMoKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKSlooAKKKKAEopaKAEpaKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigBO5rCsf8AkY776Ct3uawrH/kY776CtaW0vQiZrTfeH0qOpJvvD6VHWRYVV1T/AJBs3+7Vqquq f8g2b/doA4OiiigD1KiiigDP0n7tx/11NaFZ+k/duP8Arqa0KACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKTvS0lAGJN/yNsP/XI1p2Vjb6fEYrSJY0LFiF7k9TWXL/yNkH/XI1uCtJ9PQmHUWiiisygo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKAE7msKx/5GO++grcJ5rEsefEd99BWtPaXoRPoas33h9KytT8 Qabo0iR39wYmfoSvBrVm+8PpWZrOjWuuae9rdxqSR8kmPmU+tZFkNj4p0jU7oW1ldebMegCn9at6 p/yDZv8Adqh4a8MWvhyz2RDzLhuHmI5Iq/qn/INm/wB2gDg6KKKAPTvPi/56L+dHnxf89F/OuWqW P+lAGtpciIs4ZgMyEjJ7Ve8+L/nov51y56UlAHU+fF/z0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v +ei/nXLUUAdT58X/AD0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v8Anov51y1FAHU+fF/z0X86PPi/ 56L+dctRQB1Pnxf89F/Ojz4v+ei/nXLUUAdT58X/AD0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v8A nov51y1FAHU+fF/z0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v+ei/nXLUUAdT58X/AD0X86PPi/56 L+dctRQB1Pnxf89F/Ojz4v8Anov51y1FAHU+fF/z0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v+ei/ nXLUUAdT58X/AD0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v8Anov51y1FAHU+fF/z0X86PPi/56L+ dctRQB1Pnxf89F/Ojz4v+ei/nXLUUAdT58X/AD0X86PPi/56L+dctRQB1Pnxf89F/Ojz4v8Anov5 1y1FAHU+fF/z0X86POj/AOei/nXLUUAaErA+KIZARsEZBbtWyJo/+ei/nXMJ/rEpG6n61c+hMd2d R58X/PRfzo8+L/nov51y1FQUdT58X/PRfzo8+L/nov51y1FAHU+fF/z0X86PPi/56L+dctRQB1Pn xf8APRfzo8+L/nov51y1FAHU+fF/z0X86PPi/wCei/nXLUUAdT58X/PRfzo8+L/nov51y1FAHU+f F/z0X86PPi/56L+dctRQB1Pnxf8APRfzo8+L/nov51y1FAHU+fF/z0X86PPi/wCei/nXLUUAdT58 X/PRfzo8+L/nov51y1FAHU+fF/z0X86PPi/56L+dctRQB1Pnxf8APRfzo8+L/nov51y1FAHU+fF/ z0X86PPi/wCei/nXLUUAdT58X/PRfzo8+L/nov51y1FAHU+fF/z0X86PPi/56L+dctRQB1Pnxf8A PRfzo8+L/nov51y1FAHU+fF/z0X86PPi/wCei/nXLUUAdT58X/PRfzo8+L/nov51y1FAHU+fF/z0 X86PPi/56L+dctRQB1Pnxf8APRfzo8+L/nov51y1FAHU+fF/z0X86PPi/wCei/nXLUUAdQZo/wDn ov51jWLBfEN4zEBWAwexqh/CaWLoauHUiW50UssZI+dfzpnmx/31/OsJelLUFm55if31/OqmpyId PlUMCSvSs6mXH+of/doA5rafSilooA//2Q== --_005_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_ Content-Type: image/jpeg; name="image006.jpg" Content-Description: image006.jpg Content-Disposition: inline; filename="image006.jpg"; size=1826; creation-date="Wed, 08 Jun 2016 21:58:00 GMT"; modification-date="Wed, 08 Jun 2016 21:58:00 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAAdAJYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD12eeO 2heWUhUUZLGubOs3OrMxtGFvZKcNM/V/pS65v1W9+yFmjtLcb5SP4z/dFV7W3lubqJ5IAqDiOAdA PU1Mtzhq1ZSlZGtJK0NgPsszGb7yhv4sVZs9RF/przQD96FIKejVR1wmGGE427DkOv61W8PSGLVp ol/1UyiQfWnew1UcZKBytz4h8XRPO7WhWFGODjtVO08Z+I9QkZbIb3XqoFem6+B/Yd3wOIya84+F 6j+3LnPJINd1KUXBtoU48tRI6zwdqWt332ka1B5IQjZkV0V88i2MzW2GmCEoB6153488RalFri6b ZSeUhAwR3NW9F0rxBp0N1d6hdl4vJyoJ9qzdHaXc0hV3Rd8Pav4gktNQm1iHyvKUmI+tVfCXinUd U/tE3m0rbxlkPvWd4K1S8v7bWFvZzKFRtoPaq3gAfLrGM/6pq1dJK5i6l7G14L8UarrX2+O6xvRS YsVo+ENR1++vbhNYg8qFSduK5X4dFo/7XkUkOEJB9Kv/AA91K9vtTvluLl5MA7VNKpSVpDp1Gmj0 hXXHDDilyMYBFeZXegeKXvJnTUkjUudibu1ZOpz+IvC08U9xqAmLHlVbOBWccM5NJM1eIsexggD/ ABo3qO4rzvxhr92fCdhd2sxiacgMRWfp+geK9TsI7uHU8JIMgE81PsWldsft3LY9S45Oefaua8Xe Lh4aaBVg80yHHHauT0XxDq2i+JU0nVJTMrNt3Gs7xzZX9pqxkvpt8Mr5iz2FaU8NaST6kVK7a9D1 rTrz7dp8FyFGZFyRnpRXE+D9G1tYTJc3BFu6AxDNFYyoxT3N41HY6u5W0t2Mc77TcHduPTNVpdXW 1bHlCOQfLk8gitW+tILyEQzxh1b16j6VxuuJJoKAxytOm7hJB0rCRzV37LVHRmSHV4R8wEiggL2N NsrMwayr7MARhfpXNaV4gZ2DrbRo24DINd5CQ6LLgBmHNG6Ko2qtSe5S8Qf8gO8/65mvOfhaMa5c /Q16fqFsl1YyxSfdZSDXO+FvClpod/LLbySMzdd1ddKdqTRcoXqJnE+OOPHcRxkllr0zVF/4pucH /nh/SsbW/BtnqGuR6hLLKJM/dHTiukubVZ7E2rEhHTaT3oqTXusmENZHlfw+/wCPXWCO0bdak8AN hNYOR/qW6112g+D7PSIbxIZJG8/IYt2qTRPB9poiXTQyu/2hCGDVtKqndGUabWpxfw+bEesc/wDL JjxT/h1MYbzVZFGWSMsK67w/4PtNI+2iCWQi4Uhge2aXw34UtNIuLl4nd/NyGDelJ1I2kChLQ880 z7R4j1C5a61VrTDnhmpniHSV06JW/tP7YW4IznFdvdfDXTJrx5VmmjLnOF6CoX+GGnYObq4I9DVw rRUkzOUG07mD4l+X4e6Vjkbq9B8HgDwxY85+QVm6n4Rs77w3b6fJJII4W+Vh1roNGsU0/Sba2hJ2 RqAM1z1Zpw07nTShZnmXiPj4mQdxvHWr3xXI3aeDjB9a6HUvCNne+JY9SkkkEynIA6Ve8S+G7TX7 WMXO5WToy9a0VRXjciUHaRH4W1Wzm0W2giuUZ44xuBPSiqmjeB7LSZ5fJmlbeozuorGSg3c1jex/ /9k= --_005_04EFF12F483FA149B07653989B86861F2178EE92wcosexch01kcosi_-- From nobody Wed Jun 8 15:11:41 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EE87312D732 for ; Wed, 8 Jun 2016 15:11:39 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.62 X-Spam-Level: X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Hk0_G2iaOSr3 for ; Wed, 8 Jun 2016 15:11:38 -0700 (PDT) Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C55312D68A for ; Wed, 8 Jun 2016 15:11:38 -0700 (PDT) Received: from mfilter33-d.gandi.net (mfilter33-d.gandi.net [217.70.178.164]) by relay4-d.mail.gandi.net (Postfix) with ESMTP id 447DD17209A; Thu, 9 Jun 2016 00:11:37 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter33-d.gandi.net Received: from relay4-d.mail.gandi.net ([IPv6:::ffff:217.70.183.196]) by mfilter33-d.gandi.net (mfilter33-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id xz9N5q0y2EXQ; Thu, 9 Jun 2016 00:11:35 +0200 (CEST) X-Originating-IP: 93.199.242.26 Received: from nar-3.local (p5DC7F21A.dip0.t-ipconnect.de [93.199.242.26]) (Authenticated sender: cabo@cabo.im) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 1A2731720A3; Thu, 9 Jun 2016 00:11:33 +0200 (CEST) Message-ID: <57589814.7010505@tzi.org> Date: Thu, 09 Jun 2016 00:11:32 +0200 From: Carsten Bormann User-Agent: Postbox 4.0.8 (Macintosh/20151105) MIME-Version: 1.0 To: glenn_engel@keysight.com References: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> <04EFF12F483FA149B07653989B86861F2178DD15@wcosexch01k.cos.is.keysight.com> <04EFF12F483FA149B07653989B86861F2178EE92@wcosexch01k.cos.is.keysight.com> In-Reply-To: <04EFF12F483FA149B07653989B86861F2178EE92@wcosexch01k.cos.is.keysight.com> X-Enigmail-Version: 1.2.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Archived-At: Cc: Michel.Veillette@trilliantinc.com, cbor@ietf.org Subject: Re: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 22:11:40 -0000 glenn_engel@keysight.com wrote: > Something like: Hi Glenn, this is precisely what I was going to propose as well! (Except that I wouldn't use the term "row major order", maybe.) Is this well thought out enough that we include this in the typedarray draft? (And is that maybe a good way to use that one reserved tag in the 24-tag space?) Grüße, Carsten From nobody Thu Jun 9 08:34:34 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D456412D5C4 for ; Thu, 9 Jun 2016 08:34:32 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -4.605 X-Spam-Level: X-Spam-Status: No, score=-4.605 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0301HWo7i225 for ; Thu, 9 Jun 2016 08:34:31 -0700 (PDT) Received: from cos-us-iron02k.cos.keysight.com (cos-us-iron02k.cos.keysight.com [192.25.5.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6435812B03A for ; Thu, 9 Jun 2016 08:34:30 -0700 (PDT) X-IPAS-Result: A2DzBQBbjFlXbRYYjJxeGgEBAQGEZwwGpzeVVYYTAhwMgUkQAQEBAQEBARIYMy+EPQgBAQEBAyMRRQwEAgEGAhEEAQEBAgIGHQMCAgIwFAEICAISBQiFaoI9kAudHZEJAQEBAQEBAQMBAQEBAQEBAR+BAYlzhEKCfxAbgi4BBJhViHuUTI9lNYQNbokJAX4BAQU X-IronPort-AV: E=Sophos;i="5.26,445,1459836000"; d="scan'208";a="32456461" Received: from wcosexch03k.cos.is.keysight.com (HELO 2k10hubs.keysight.com) ([156.140.24.22]) by cos-us-iron02k.cos.keysight.com with ESMTP/TLS/AES128-SHA256; 09 Jun 2016 09:17:13 -0600 Received: from wcosexch01k.cos.is.keysight.com ([169.254.3.99]) by wcosexch03k.cos.is.keysight.com ([169.254.1.192]) with mapi id 14.03.0266.001; Thu, 9 Jun 2016 09:34:13 -0600 From: CC: Thread-Topic: [Cbor] Additional data types Thread-Index: AdHAP6Oy25pLOQV2Rp6gIejeIb5M2gAEoPxgACDdFeAAEZrJ8AAq+nGgAA9EEAAAFs53MA== Date: Thu, 9 Jun 2016 15:34:13 +0000 Message-ID: <04EFF12F483FA149B07653989B86861F2178FC14@wcosexch01k.cos.is.keysight.com> References: <04EFF12F483FA149B07653989B86861F2178C6CF@wcosexch01k.cos.is.keysight.com> <04EFF12F483FA149B07653989B86861F2178DD15@wcosexch01k.cos.is.keysight.com> <04EFF12F483FA149B07653989B86861F2178EE92@wcosexch01k.cos.is.keysight.com> <57589814.7010505@tzi.org> In-Reply-To: <57589814.7010505@tzi.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [156.140.13.70] x-tm-as-product-ver: SMEX-11.0.0.4255-8.000.1202-22382.000 x-tm-as-result: No--38.613800-8.000000-31 x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Archived-At: Subject: Re: [Cbor] Additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jun 2016 15:34:33 -0000 VXNlIG9mIHRoZSByZXNlcnZlZCB0YWcgZm9yIE11bHRpLWRpbSBhcnJheXMgd291bGQgYmUgZ3Jl YXQuICAgSG93ZXZlciwgbXkgZmlyc3QgdGhvdWdodCB3aGVuIEkgc2F3IHRoZSByZXNlcnZlZCB0 YWcgd2FzIGl0IGNvdWxkIGJlIHVzZWQgZm9yIG9uZSBvZiB0aGUgb3RoZXIgbWFqb3IgdHlwZXMg dGhhdCBhcmUgbm90IGNvdmVyZWQuICAgRm9yIGV4YW1wbGUsIHRleHQgc3RyaW5ncy4gIA0KDQpU aGUgb25lcyBtaXNzaW5nIGZyb20gbXkgc3BlY2lmaWMgYXBwbGljYXRpb24gd291bGQgYmUgVHlw ZWRBcnJheSBvZiANCjEuIFRleHQgc3RyaW5nIChtYWpvciAzKQ0KMi4gVGltZSAodGFnIDEpDQoz LiBCb29sIChNYWpvciA3LzIwLTIxKQ0KDQpQZXJoYXBzIHRoZXNlIGFuZCBvdGhlcnMgY291bGQg YmUgc3VwcG9ydGVkIGJ5IGhhdmluZyBhIHNpbmdsZSAnSG9tb2dlbmVvdXMgQXJyYXknIHRhZzoN Cg0KVGFnOiBYWA0KRGF0YSBJdGVtOiBhcnJheQ0KU2VtYW50aWNzOiBIb21vZ2VuZW91cyBBcnJh eQ0KDQpUaGlzIHRhZyBwcm92aWRlcyBhIGhpbnQgdG8gZGVjb2RlcnMgdGhhdCB0aGUgZm9sbG93 aW5nIGFycmF5IGhhcyBlbGVtZW50cyB0aGF0IGFyZSBhbGwgb2YgdGhlIHNhbWUgdHlwZS4gICBU aGUgdHlwZSBvZiB0aGUgYXJyYXkgaXMgdGh1cyBkZXRlcm1pbmVkIGJ5IHRoZSB0eXBlIG9mIHRo ZSBmaXJzdCBlbGVtZW50LiAgVGhpcyBjYW4gYmUgdXNlZCBieSBzdHJvbmdseSB0eXBlZCBsYW5n dWFnZXMgd2hpbGUgZGVjb2RpbmcgIHRvIGNyZWF0ZSBuYXRpdmUgYXJyYXlzIG9mIHNwZWNpZmlj IHR5cGVzIGluc3RlYWQgb2Ygb3JkZXJlZCBsaXN0cy4NCg0KV2hpbGUgZW5jb2RpbmcgaXMgbm90 IG9wdGltaXplZCBmb3IgY29tcGFjdG5lc3MgbGlrZSB0aGUgbnVtZXJpYyB0eXBlcywgaXQgZG9l cyBtZWFuIHRoYXQgdmlydHVhbGx5IGFueSBob21vZ2VuZW91cyBhcnJheSB0eXBlIGNhbiByb3Vu ZC10cmlwIHRocnUgQ0JPUiBuaWNlbHkgaWYgdGhlIGFwcGxpY2F0aW9uIHdhbnRzIHRvIHN1cHBv cnQgc3BlY2lmaWMgbmF0aXZlIGFycmF5IHR5cGVzLg0KDQotLQ0KR2xlbm4NCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENhcnN0ZW4gQm9ybWFubiBbbWFpbHRvOmNhYm9AdHpp Lm9yZ10gDQpTZW50OiBXZWRuZXNkYXksIEp1bmUgMDgsIDIwMTYgMzoxMiBQTQ0KVG86IEVOR0VM LEdMRU5OIChLLUxhYnMsZXgxKSA8Z2xlbm5fZW5nZWxAa2V5c2lnaHQuY29tPg0KQ2M6IE1pY2hl bC5WZWlsbGV0dGVAdHJpbGxpYW50aW5jLmNvbTsgY2JvckBpZXRmLm9yZw0KU3ViamVjdDogUmU6 IFtDYm9yXSBBZGRpdGlvbmFsIGRhdGEgdHlwZXMNCg0KZ2xlbm5fZW5nZWxAa2V5c2lnaHQuY29t IHdyb3RlOg0KPiBTb21ldGhpbmcgbGlrZToNCg0KSGkgR2xlbm4sDQoNCnRoaXMgaXMgcHJlY2lz ZWx5IHdoYXQgSSB3YXMgZ29pbmcgdG8gcHJvcG9zZSBhcyB3ZWxsIQ0KKEV4Y2VwdCB0aGF0IEkg d291bGRuJ3QgdXNlIHRoZSB0ZXJtICJyb3cgbWFqb3Igb3JkZXIiLCBtYXliZS4pDQoNCklzIHRo aXMgd2VsbCB0aG91Z2h0IG91dCBlbm91Z2ggdGhhdCB3ZSBpbmNsdWRlIHRoaXMgaW4gdGhlIHR5 cGVkYXJyYXkgZHJhZnQ/DQooQW5kIGlzIHRoYXQgbWF5YmUgYSBnb29kIHdheSB0byB1c2UgdGhh dCBvbmUgcmVzZXJ2ZWQgdGFnIGluIHRoZSAyNC10YWcNCnNwYWNlPykNCg0KR3LDvMOfZSwgQ2Fy c3Rlbg0KDQo= From nobody Wed Jun 29 10:19:21 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A8ECA12D5A9 for ; Wed, 29 Jun 2016 10:19:19 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -5.626 X-Spam-Level: X-Spam-Status: No, score=-5.626 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id twujhsiA4cxU for ; Wed, 29 Jun 2016 10:19:18 -0700 (PDT) Received: from cos-us-iron02k.cos.keysight.com (cos-us-iron02k.cos.keysight.com [192.25.5.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D6ADB12D5AA for ; Wed, 29 Jun 2016 10:19:14 -0700 (PDT) X-IPAS-Result: A2DGAQCjAnRXfRUYjJxaHQGEebs+hhgCHIFQEAEBAQEBAQESAQEWMy+EUAMjEVcBIgIGIAIEMBURAQQbiCikDI9ikDUBAQEjgQGONjgSgjUrgi8FmQWBMYdPlGOQAzWED4ktAX4BAQE X-IronPort-AV: E=Sophos;i="5.26,547,1459836000"; d="scan'208";a="33587804" Received: from wcosexch02k.cos.is.keysight.com (HELO 2k10hubs.keysight.com) ([156.140.24.21]) by cos-us-iron02k.cos.keysight.com with ESMTP/TLS/AES128-SHA256; 29 Jun 2016 11:19:13 -0600 Received: from wcosexch01k.cos.is.keysight.com ([169.254.3.76]) by wcosexch02k.cos.is.keysight.com ([169.254.2.179]) with mapi id 14.03.0279.002; Wed, 29 Jun 2016 11:19:12 -0600 From: To: Thread-Topic: Next steps for additional data types Thread-Index: AdHSJLofMCSgcVdjTkCBqiFk8YzVhQ== Date: Wed, 29 Jun 2016 17:19:12 +0000 Message-ID: <04EFF12F483FA149B07653989B86861F217A069F@wcosexch01k.cos.is.keysight.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [156.140.13.70] x-tm-as-product-ver: SMEX-11.0.0.4255-8.000.1202-22422.001 x-tm-as-result: No--38.837500-8.000000-31 x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Archived-At: Subject: [Cbor] Next steps for additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2016 17:19:20 -0000 SGksIGhhcyB0aGVyZSBiZWVuIGFueSBkaXNjdXNzaW9uIG9mIHdoZXJlIHRoZXNlIHR3byBwcm9w b3NhbHMgZml0IHdpdGggdGhlIGV4aXN0aW5nIFR5cGVkQXJyYXkgcHJvcG9zYWw/DQoNClNob3Vs ZCB0aGVzZSBiZSBwcm9wb3NlZCBhcyBuZXcgdGFncyB0byBJQU5BIG9yIGVudmVsb3BlZCBieSB0 aGUgVHlwZWRBcnJheSBwcm9wb3NhbD8NCg0KSnVzdCB0byByZWNhcCwgdGhlIHR3byBzdWdnZXN0 aW9ucyB3ZXJlIG1lY2hhbmlzbXMgdG8gcHJvdmlkZSBmb3IgMSkgbXVsdGktZGltZW5zaW9uYWwg YXJyYXlzIGFuZCAyKSBUeXBlQXJyYXlzIG9mIG90aGVyIHR5cGVzIG5vdCBwcm92aWRlZCBmb3Ig aW4gdGhlIFR5cGVkQXJyYXkgcHJvcG9zYWwgKGUuZy4gYm9vbFtdLCBzdHJpbmdbXSwgdGltZXN0 YW1wW10sIG1hcFtdKS4NCg0KMS4gTXVsdGktZGltZW5zaW9uYWwgYXJyYXkNCg0KVGFnOiBYWA0K RGF0YSBJdGVtOiBhcnJheQ0KU2VtYW50aWNzOiBNdWx0aS1kaW1lbnNpb25hbCBhcnJheQ0KDQpB IG11bHRpLWRpbWVuc2lvbmFsIGFycmF5IGlzIHJlcHJlc2VudGVkIGFzIGEgdGFnZ2VkIGFycmF5 IHRoYXQgY29udGFpbnMgdHdvIGFycmF5cy4gIFRoZSBmaXJzdCBhcnJheSBkZWZpbmVzIHRoZSBk aW1lbnNpb25zIG9mIHRoZSBtdWx0aS1kaW1lbnNpb25hbCBhcnJheSB3aGlsZSB0aGUgc2Vjb25k IGFycmF5IHJlcHJlc2VudHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBtdWx0aS1kaW1lbnNpb25hbCBh cnJheS4gIElmIHRoZSBzZWNvbmQgYXJyYXkgaXMgaXRzZWxmIHRhZ2dlZCBhcyBhIFR5cGVkQXJy YXkgdGhlbiB0aGUgdHlwZSBvZiB0aGUgbXVsdGktZGltZW5zaW9uYWwgYXJyYXkgaXMgYXNzdW1l ZCB0byBiZSB0aGUgc2FtZSB0eXBlIGFzIHRoZSBUeXBlZEFycmF5LiAgIERhdGEgaW4gdGhlIFR5 cGVkQXJyYXkgYnl0ZSBzdHJpbmcgY29uc2lzdHMgb2YgY29uc2VjdXRpdmUgdmFsdWVzIHdoZXJl IHRoZSBsYXN0IGRpbWVuc2lvbiBpcyBjb25zaWRlcmVkIGNvbnRpZ3VvdXMgKHJvdy1tYWpvciBv cmRlcikuIA0KDQp1aW50MTZfdCBhWzJdWzNdID0geyAgDQogIHswLCAxLCAyfSwgICAvKiByb3cg MCAqLw0KICB7MywgNCwgNX0sICANCn07DQoNCjxUYWcgWFg+ICAgICMgbXVsdGktZGltIGFycmF5 IHRhZw0KICAgODIgICAgICAgIyBhcnJheSgyKQ0KICAgICAgODIgICAgIyBhcnJheSgyKQ0KICAg ICAgICAgMDIgIyB1bnNpZ25lZCgyKSAxc3QgRGltZW5zaW9uDQogICAgICAgIDAzICMgdW5zaWdu ZWQoMykgMm5kIERpbWVuc2lvbg0KICAgICBkOCA0MSAjIHVpbnQxNiBhcnJheQ0KICAgICAgICAg NGEgICAgIyBieXRlIHN0cmluZygxMikNCiAgICAgICAgICAgIDAwIDAwICMgdW5zaWduZWQoMCkN CiAgICAgICAgICAgIDAwIDAxICMgdW5zaWduZWQoMSkNCiAgICAgICAgICAgIDAwIDAyICMgdW5z aWduZWQoMikNCiAgICAgICAgICAgIDAwIDAzICMgdW5zaWduZWQoMykNCiAgICAgICAgICAgIDAw IDA0ICMgdW5zaWduZWQoNCkNCiAgICAgICAgICAgIDAwIDA1ICMgdW5zaWduZWQoNSkNCg0KMi4g SG9tb2dlbmVvdXMgQXJyYXkNCg0KVGFnOiBZWQ0KRGF0YSBJdGVtOiBhcnJheQ0KU2VtYW50aWNz OiBIb21vZ2VuZW91cyBBcnJheQ0KDQpUaGlzIHRhZyBwcm92aWRlcyBhIGhpbnQgdG8gZGVjb2Rl cnMgdGhhdCB0aGUgZm9sbG93aW5nIGFycmF5IGhhcyBlbGVtZW50cyB0aGF0IGFyZSBhbGwgb2Yg dGhlIHNhbWUgdHlwZS4gICBUaGUgdHlwZSBvZiB0aGUgYXJyYXkgaXMgdGh1cyBkZXRlcm1pbmVk IGJ5IHRoZSB0eXBlIG9mIHRoZSBmaXJzdCBhcnJheSBlbGVtZW50LiAgVGhpcyBjYW4gYmUgdXNl ZCBieSBzdHJvbmdseSB0eXBlZCBsYW5ndWFnZXMgd2hpbGUgZGVjb2RpbmcgIHRvIGNyZWF0ZSBu YXRpdmUgYXJyYXlzIG9mIHNwZWNpZmljIHR5cGVzIGluc3RlYWQgb2Ygb3JkZXJlZCBsaXN0cy4N Cg0KYm9vbCBib29sQXJyYXlbMl0gPSB7IHRydWUsIGZhbHNlIH07DQoNCjxUYWcgWVk+ICAjIEhv bW9nZW5lb3VzIEFycmF5IFRhZw0KICAgODIgICAgICAgICAgICNhcnJheSgyKQ0KICAgICAgRjUg ICAgICAgICMgdHJ1ZQ0KICAgICAgRjQgICAgICAgICMgZmFsc2UNCg0KUmVnYXJkcywNCg0KR2xl bm4gRW5nZWwNCg== From nobody Wed Jun 29 11:43:08 2016 Return-Path: X-Original-To: cbor@ietfa.amsl.com Delivered-To: cbor@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B714612D0B0 for ; Wed, 29 Jun 2016 11:43:06 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3hJiyLTDdJnr for ; Wed, 29 Jun 2016 11:43:04 -0700 (PDT) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [IPv6:2001:4b98:c:538::197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BC85912D0AB for ; Wed, 29 Jun 2016 11:43:04 -0700 (PDT) Received: from mfilter19-d.gandi.net (mfilter19-d.gandi.net [217.70.178.147]) by relay5-d.mail.gandi.net (Postfix) with ESMTP id EA84E41C090; Wed, 29 Jun 2016 20:43:02 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter19-d.gandi.net Received: from relay5-d.mail.gandi.net ([IPv6:::ffff:217.70.183.197]) by mfilter19-d.gandi.net (mfilter19-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 9LTiGXkSwIma; Wed, 29 Jun 2016 20:43:01 +0200 (CEST) X-Originating-IP: 93.199.242.26 Received: from nar-3.local (p5DC7F21A.dip0.t-ipconnect.de [93.199.242.26]) (Authenticated sender: cabo@cabo.im) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id A841641C084; Wed, 29 Jun 2016 20:42:59 +0200 (CEST) Message-ID: <577416B1.3090308@tzi.org> Date: Wed, 29 Jun 2016 20:42:57 +0200 From: Carsten Bormann User-Agent: Postbox 4.0.8 (Macintosh/20151105) MIME-Version: 1.0 To: glenn_engel@keysight.com References: <04EFF12F483FA149B07653989B86861F217A069F@wcosexch01k.cos.is.keysight.com> In-Reply-To: <04EFF12F483FA149B07653989B86861F217A069F@wcosexch01k.cos.is.keysight.com> X-Enigmail-Version: 1.2.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Archived-At: Cc: cbor@ietf.org Subject: Re: [Cbor] Next steps for additional data types X-BeenThere: cbor@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Concise Binary Object Representation \(CBOR\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2016 18:43:07 -0000 glenn_engel@keysight.com wrote: > Hi, has there been any discussion of where these two proposals fit with the existing TypedArray proposal? No, not yet. There are still a few days up to the Internet-Draft deadline for the Berlin meeting... > Should these be proposed as new tags to IANA or enveloped by the TypedArray proposal? >From the point of view of the work needed, It is probably most economical to include them in the typed array draft, even if they don't fit perfectly. > Just to recap, the two suggestions were mechanisms to provide for 1) multi-dimensional arrays and 2) TypeArrays of other types not provided for in the TypedArray proposal (e.g. bool[], string[], timestamp[], map[]). > > 1. Multi-dimensional array > > Tag: XX > Data Item: array > Semantics: Multi-dimensional array > > A multi-dimensional array is represented as a tagged array that contains two arrays. The first array defines the dimensions of the multi-dimensional array while the second array represents the contents of the multi-dimensional array. If the second array is itself tagged as a TypedArray then the type of the multi-dimensional array is assumed to be the same type as the TypedArray. Data in the TypedArray byte string consists of consecutive values where the last dimension is considered contiguous (row-major order). > > uint16_t a[2][3] = { > {0, 1, 2}, /* row 0 */ > {3, 4, 5}, > }; > > # multi-dim array tag > 82 # array(2) > 82 # array(2) > 02 # unsigned(2) 1st Dimension > 03 # unsigned(3) 2nd Dimension > d8 41 # uint16 array > 4a # byte string(12) > 00 00 # unsigned(0) > 00 01 # unsigned(1) > 00 02 # unsigned(2) > 00 03 # unsigned(3) > 00 04 # unsigned(4) > 00 05 # unsigned(5) > > 2. Homogeneous Array > > Tag: YY > Data Item: array > Semantics: Homogeneous Array > > This tag provides a hint to decoders that the following array has elements that are all of the same type. The type of the array is thus determined by the type of the first array element. This can be used by strongly typed languages while decoding to create native arrays of specific types instead of ordered lists. > > bool boolArray[2] = { true, false }; > > # Homogeneous Array Tag > 82 #array(2) > F5 # true > F4 # false We probably need to add a little bit more text about what sets of values should be considered a homogeneous set (e.g., is null included or not; float vs. int, int vs. uint, ...). A few more examples would help. The guiding principle probably should be what can be represented in a typical static-type programming language as a homogeneous array. Grüße, Carsten