Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YHdKE-00047m-6w for pgsql-performance@arkaria.postgresql.org; Sat, 31 Jan 2015 19:03:22 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1YHdKC-0004h0-PN for pgsql-performance@arkaria.postgresql.org; Sat, 31 Jan 2015 19:03:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1YHdKA-0004gr-Gg for pgsql-performance@postgresql.org; Sat, 31 Jan 2015 19:03:18 +0000 Received: from mail-am1on0623.outbound.protection.outlook.com ([2a01:111:f400:fe00::623] helo=emea01-am1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YHdK5-0003kr-HO for pgsql-performance@postgresql.org; Sat, 31 Jan 2015 19:03:16 +0000 Received: from AMSPR03MB518.eurprd03.prod.outlook.com (10.242.19.153) by AMSPR03MB517.eurprd03.prod.outlook.com (10.242.19.139) with Microsoft SMTP Server (TLS) id 15.1.75.20; Sat, 31 Jan 2015 19:02:45 +0000 Received: from AMSPR03MB518.eurprd03.prod.outlook.com ([10.242.19.153]) by AMSPR03MB518.eurprd03.prod.outlook.com ([10.242.19.153]) with mapi id 15.01.0075.002; Sat, 31 Jan 2015 19:02:45 +0000 From: Christian Weyer To: "pgsql-performance@postgresql.org" Subject: Re: Unexpected (bad) performance when querying indexed JSONB column Thread-Topic: [PERFORM] Unexpected (bad) performance when querying indexed JSONB column Thread-Index: AQHQPYh+MPtYv9v9GUulrT5Ss+d0jQ== Date: Sat, 31 Jan 2015 19:02:45 +0000 Message-ID: <7F9BEAD7-C190-4E21-8240-04687FA88435@thinktecture.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/15.6.0.150113 x-originating-ip: [84.174.116.144] authentication-results: postgresql.org; dkim=none (message not signed) header.d=none; x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:AMSPR03MB517; x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:;SRVR:AMSPR03MB517; x-forefront-prvs: 0473A03F3F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(53754006)(164054003)(19580395003)(50986999)(107886001)(19580405001)(106116001)(83506001)(82746002)(110136001)(83716003)(2656002)(2351001)(54356999)(450100001)(16236675004)(66066001)(40100003)(77156002)(62966003)(2900100001)(86362001)(102836002)(46102003)(92566002)(87936001)(77096005)(33656002)(122556002)(36756003)(104396002); DIR:OUT; SFP:1101; SCL:1; SRVR:AMSPR03MB517; H:AMSPR03MB518.eurprd03.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; Content-Type: multipart/alternative; boundary="_000_7F9BEAD7C1904E21824004687FA88435thinktecturecom_" MIME-Version: 1.0 X-OriginatorOrg: thinktecture.com X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2015 19:02:45.0189 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ed1f07e9-ad7c-4ea4-842e-2e16ed4db6e9 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR03MB517 X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org --_000_7F9BEAD7C1904E21824004687FA88435thinktecturecom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SnVzdCBjaGVja2VkOiB0aGUgZXhlY3V0aW9uIHRpbWUgaXMgdGhlIHNhbWUgd2hlbiBJIGRyb3Ag dGhlIGluZGV4Lg0KDQpFeGVjdXRpb24gcGxhbiB3aXRoIGluZGV4Og0KLS0tDQoiQml0bWFwIEhl YXAgU2NhbiBvbiBhcnRpY2xlcyAgKGNvc3Q9MTYuMjUuLjEzNS42NCByb3dzPTMzIHdpZHRoPTQy NykiDQoiICBSZWNoZWNrIENvbmQ6IChkYXRhIEA+ICd7ImxvY2tlZCI6IHRydWV9Jzo6anNvbmIp Ig0KIiAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIGlkeF9kYXRhICAoY29zdD0wLjAwLi4xNi4y NCByb3dzPTMzIHdpZHRoPTApIg0KIiAgICAgICAgSW5kZXggQ29uZDogKGRhdGEgQD4gJ3sibG9j a2VkIjogdHJ1ZX0nOjpqc29uYikiDQotLS0NCg0KQW5kIHdpdGhvdXQgdGhlIGluZGV4Og0KLS0t DQoiU2VxIFNjYW4gb24gYXJ0aWNsZXMgIChjb3N0PTAuMDAuLjIyODkuMjEgcm93cz0zMyB3aWR0 aD00MjcpIg0KIiAgRmlsdGVyOiAoZGF0YSBAPiAneyJsb2NrZWQiOiB0cnVlfSc6Ompzb25iKSIN Ci0tLQ0KDQotQy4NCg0KRnJvbTogQ2hyaXN0aWFuIFdleWVyDQpEYXRlOiBTYW1zdGFnLCAzMS4g SmFudWFyIDIwMTUgMTc6MDANClRvOiAicGdzcWwtcGVyZm9ybWFuY2VAcG9zdGdyZXNxbC5vcmc8 bWFpbHRvOnBnc3FsLXBlcmZvcm1hbmNlQHBvc3RncmVzcWwub3JnPiINClN1YmplY3Q6IFtQRVJG T1JNXSBVbmV4cGVjdGVkIChiYWQpIHBlcmZvcm1hbmNlIHdoZW4gcXVlcnlpbmcgaW5kZXhlZCBK U09OQiBjb2x1bW4NCg0KSGkgYWxsLA0KDQpUaGUgcGcgdmVyc2lvbiBpbiBxdWVzdGlvbiBpcyB0 aGUgbGF0ZXN0IDkuNC4sIHJ1bm5pbmcgb24gV2luZG93cy4NCg0KRm9yIHRlc3Rpbmcgb3V0IHRo ZSBOb1NRTCBmZWF0dXJlcyBvZiBwZyBJIGhhdmUgYSBzaW1wbGUgdGFibGUgY2FsbGVkIOKAmGFy dGljbGVz4oCZIHdpdGggYSBjb2x1bW4gY2FsbGVkIOKAmGRhdGHigJkuDQoNClRoZXJlIGlzIGFu IGluZGV4IG9uIOKAmGRhdGHigJkgbGlrZSB0aGlzOg0KICBDUkVBVEUgSU5ERVggaWR4X2RhdGEg T04gYXJ0aWNsZXMgVVNJTkcgZ2luIChkYXRhIGpzb25iX3BhdGhfb3BzKTsNCg0KVGhlIGN1cnJl bnQgdGVzdCBkYXRhIHNldCBoYXMgMzI1NzAgZW50aXJlcyBvZiBKU09OIGRvY3MgbGlrZSB0aGlz Og0Kew0KInRpdGxlIjogIkZvbyBCYXIiLA0KImxvY2tlZCI6IHRydWUsDQoidmFsaWRfdW50aWwi OiAiMjA0OS0xMi0zMVQwMDowMDowMCIsDQoiYXJ0X251bWJlciI6IDEyMzQ1Njc4LA0KInZhbGlk X3NpbmNlIjogIjIwMTMtMTAtMDVUMDA6MDA6MDAiLA0KIm51bWJlcl92YWxpZCI6IGZhbHNlLA0K ImNvbWJpbmF0aW9ucyI6IHsNCiJ2YXIxIjogIjQ3MTEiLA0KInZhcjIiOiAiNDcxMSIsDQoidmFy MyI6ICIwODE1IiwNCiJpbnRfYXJ0X251bWJlciI6ICIwMDAwMDEiDQp9DQp9DQoNCk5vdGhpbmcg dG9vIGNvbXBsZXgsIEkgdGhpbmsuDQoNCldoZW4gSSBydW4gYSBzaW1wbGUgcXVlcnk6DQogIFNF TEVDVCBkYXRhICAjPj4g4oCYeyJ0aXRsZSJ9Jw0KICBGUk9NIGFydGljbGVzDQogIFdIRVJFIGRh dGEgQD4gJ3sg4oCcbG9ja2VkIiA6IHRydWUgfSc7DQoNClJlcHJvZHVjaW5nbHksIGl0IHRha2Vz IGFwcHJveC4gOTAwbXMgdG8gZ2V0IHRoZSByZXN1bHRzIGJhY2suDQpIb25lc3RseSwgSSB3YXMg ZXhwZWN0aW5nIGEgbXVjaCBmYXN0ZXIgcXVlcnkuDQoNCkFueSBvcGluaW9ucyBvbiB0aGlzPw0K DQpUaGFua3MsDQotQy4NCg0K --_000_7F9BEAD7C1904E21824004687FA88435thinktecturecom_ Content-Type: text/html; charset="utf-8" Content-ID: <29C9BF64F1A53443B770C438FFF73FF2@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx NHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KPGRpdj4NCjxkaXY+DQo8 ZGl2Pg0KPGRpdj5KdXN0IGNoZWNrZWQ6IHRoZSBleGVjdXRpb24gdGltZSBpcyB0aGUgc2FtZSB3 aGVuIEkgZHJvcCB0aGUgaW5kZXguPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj5FeGVj dXRpb24gcGxhbiB3aXRoIGluZGV4OjwvZGl2Pg0KPGRpdj4tLS08L2Rpdj4NCjxkaXY+JnF1b3Q7 Qml0bWFwIEhlYXAgU2NhbiBvbiBhcnRpY2xlcyAmbmJzcDsoY29zdD0xNi4yNS4uMTM1LjY0IHJv d3M9MzMgd2lkdGg9NDI3KSZxdW90OzwvZGl2Pg0KPGRpdj4mcXVvdDsgJm5ic3A7UmVjaGVjayBD b25kOiAoZGF0YSBAJmd0OyAneyZxdW90O2xvY2tlZCZxdW90OzogdHJ1ZX0nOjpqc29uYikmcXVv dDs8L2Rpdj4NCjxkaXY+JnF1b3Q7ICZuYnNwOy0mZ3Q7ICZuYnNwO0JpdG1hcCBJbmRleCBTY2Fu IG9uIGlkeF9kYXRhICZuYnNwOyhjb3N0PTAuMDAuLjE2LjI0IHJvd3M9MzMgd2lkdGg9MCkmcXVv dDs8L2Rpdj4NCjxkaXY+JnF1b3Q7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0luZGV4IENv bmQ6IChkYXRhIEAmZ3Q7ICd7JnF1b3Q7bG9ja2VkJnF1b3Q7OiB0cnVlfSc6Ompzb25iKSZxdW90 OzwvZGl2Pg0KPGRpdj4tLS08L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PkFuZCB3aXRo b3V0IHRoZSBpbmRleDo8L2Rpdj4NCjxkaXY+LS0tPC9kaXY+DQo8ZGl2PiZxdW90O1NlcSBTY2Fu IG9uIGFydGljbGVzICZuYnNwOyhjb3N0PTAuMDAuLjIyODkuMjEgcm93cz0zMyB3aWR0aD00Mjcp JnF1b3Q7PC9kaXY+DQo8ZGl2PiZxdW90OyAmbmJzcDtGaWx0ZXI6IChkYXRhIEAmZ3Q7ICd7JnF1 b3Q7bG9ja2VkJnF1b3Q7OiB0cnVlfSc6Ompzb25iKSZxdW90OzwvZGl2Pg0KPGRpdj4tLS08L2Rp dj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2IGlkPSIiPg0KPGRpdiBz dHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTog Q2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KLUMuPC9kaXY+DQo8ZGl2IHN0eWxlPSJjb2xvcjogcmdi KDAsIDAsIDApOyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNl cmlmOyI+DQo8YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPHNw YW4gaWQ9Ik9MS19TUkNfQk9EWV9TRUNUSU9OIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkNh bGlicmk7IGZvbnQtc2l6ZToxMnB0OyB0ZXh0LWFsaWduOmxlZnQ7IGNvbG9yOmJsYWNrOyBCT1JE RVItQk9UVE9NOiBtZWRpdW0gbm9uZTsgQk9SREVSLUxFRlQ6IG1lZGl1bSBub25lOyBQQURESU5H LUJPVFRPTTogMGluOyBQQURESU5HLUxFRlQ6IDBpbjsgUEFERElORy1SSUdIVDogMGluOyBCT1JE RVItVE9QOiAjYjVjNGRmIDFwdCBzb2xpZDsgQk9SREVSLVJJR0hUOiBtZWRpdW0gbm9uZTsgUEFE RElORy1UT1A6IDNwdCI+DQo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RnJvbTogPC9z cGFuPkNocmlzdGlhbiBXZXllcjxicj4NCjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5E YXRlOiA8L3NwYW4+U2Ftc3RhZywgMzEuIEphbnVhciAyMDE1IDE3OjAwPGJyPg0KPHNwYW4gc3R5 bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlRvOiA8L3NwYW4+JnF1b3Q7PGEgaHJlZj0ibWFpbHRvOnBn c3FsLXBlcmZvcm1hbmNlQHBvc3RncmVzcWwub3JnIj5wZ3NxbC1wZXJmb3JtYW5jZUBwb3N0Z3Jl c3FsLm9yZzwvYT4mcXVvdDs8YnI+DQo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+U3Vi amVjdDogPC9zcGFuPltQRVJGT1JNXSBVbmV4cGVjdGVkIChiYWQpIHBlcmZvcm1hbmNlIHdoZW4g cXVlcnlpbmcgaW5kZXhlZCBKU09OQiBjb2x1bW48YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9k aXY+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5i c3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IENhbGlicmks IHNhbnMtc2VyaWY7Ij4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj5IaSBhbGwsPC9kaXY+DQo8ZGl2Pjxi cj4NCjwvZGl2Pg0KPGRpdj5UaGUgcGcgdmVyc2lvbiBpbiBxdWVzdGlvbiBpcyB0aGUgbGF0ZXN0 IDkuNC4sIHJ1bm5pbmcgb24gV2luZG93cy48L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2 PkZvciB0ZXN0aW5nIG91dCB0aGUgTm9TUUwgZmVhdHVyZXMgb2YgcGcgSSBoYXZlIGEgc2ltcGxl IHRhYmxlIGNhbGxlZCDigJhhcnRpY2xlc+KAmSB3aXRoIGEgY29sdW1uIGNhbGxlZCDigJhkYXRh 4oCZLjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+VGhlcmUgaXMgYW4gaW5kZXggb24g 4oCYZGF0YeKAmSBsaWtlIHRoaXM6PC9kaXY+DQo8ZGl2PiZuYnNwOyBDUkVBVEUgSU5ERVggaWR4 X2RhdGEgT04gYXJ0aWNsZXMgVVNJTkcgZ2luIChkYXRhIGpzb25iX3BhdGhfb3BzKTs8L2Rpdj4N CjxkaXY+DQo8ZGl2IGlkPSIiPg0KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9u dC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KPGJyPg0K PC9kaXY+DQo8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDE0cHg7 IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyI+DQpUaGUgY3VycmVudCB0ZXN0IGRh dGEgc2V0IGhhcyAzMjU3MCBlbnRpcmVzIG9mIEpTT04gZG9jcyBsaWtlIHRoaXM6PC9kaXY+DQo8 ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFt aWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyI+DQo8ZGl2Pns8L2Rpdj4NCjxkaXY+PHNwYW4gY2xh c3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj48L3NwYW4+JnF1b3Q7 dGl0bGUmcXVvdDs6ICZxdW90O0ZvbyBCYXImcXVvdDssPC9kaXY+DQo8ZGl2PjxzcGFuIGNsYXNz PSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+PC9zcGFuPiZxdW90O2xv Y2tlZCZxdW90OzogdHJ1ZSwmbmJzcDs8L2Rpdj4NCjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRh Yi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj48L3NwYW4+JnF1b3Q7dmFsaWRfdW50aWwm cXVvdDs6ICZxdW90OzIwNDktMTItMzFUMDA6MDA6MDAmcXVvdDssJm5ic3A7PC9kaXY+DQo8ZGl2 PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+PC9z cGFuPiZxdW90O2FydF9udW1iZXImcXVvdDs6IDEyMzQ1Njc4LCZuYnNwOzwvZGl2Pg0KPGRpdj48 c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPjwvc3Bh bj4mcXVvdDt2YWxpZF9zaW5jZSZxdW90OzogJnF1b3Q7MjAxMy0xMC0wNVQwMDowMDowMCZxdW90 OywmbmJzcDs8L2Rpdj4NCjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0i d2hpdGUtc3BhY2U6cHJlIj48L3NwYW4+JnF1b3Q7bnVtYmVyX3ZhbGlkJnF1b3Q7OiBmYWxzZSwm bmJzcDs8L2Rpdj4NCjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hp dGUtc3BhY2U6cHJlIj48L3NwYW4+JnF1b3Q7Y29tYmluYXRpb25zJnF1b3Q7OiB7PC9kaXY+DQo8 ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+ PC9zcGFuPiZxdW90O3ZhcjEmcXVvdDs6ICZxdW90OzQ3MTEmcXVvdDssJm5ic3A7PC9kaXY+DQo8 ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+ PC9zcGFuPiZxdW90O3ZhcjImcXVvdDs6ICZxdW90OzQ3MTEmcXVvdDssJm5ic3A7PC9kaXY+DQo8 ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+ PC9zcGFuPiZxdW90O3ZhcjMmcXVvdDs6ICZxdW90OzA4MTUmcXVvdDssJm5ic3A7PC9kaXY+DQo8 ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+ PC9zcGFuPiZxdW90O2ludF9hcnRfbnVtYmVyJnF1b3Q7OiAmcXVvdDswMDAwMDEmcXVvdDs8L2Rp dj4NCjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6 cHJlIj48L3NwYW4+fTwvZGl2Pg0KPGRpdj59PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRp dj5Ob3RoaW5nIHRvbyBjb21wbGV4LCBJIHRoaW5rLjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4N CjxkaXY+V2hlbiBJIHJ1biBhIHNpbXBsZSBxdWVyeTo8L2Rpdj4NCjxkaXY+DQo8ZGl2PiZuYnNw OyBTRUxFQ1QgZGF0YSAmbmJzcDsjJmd0OyZndDsg4oCYeyZxdW90O3RpdGxlJnF1b3Q7fScmbmJz cDs8L2Rpdj4NCjxkaXY+Jm5ic3A7IEZST00gYXJ0aWNsZXM8L2Rpdj4NCjxkaXY+Jm5ic3A7IFdI RVJFIGRhdGEgQCZndDsgJ3sg4oCcbG9ja2VkJnF1b3Q7IDogdHJ1ZSB9Jzs8L2Rpdj4NCjwvZGl2 Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+UmVwcm9kdWNpbmdseSwgaXQgdGFrZXMgYXBwcm94 LiA5MDBtcyB0byBnZXQgdGhlIHJlc3VsdHMgYmFjay48L2Rpdj4NCjxkaXY+SG9uZXN0bHksIEkg d2FzIGV4cGVjdGluZyBhIG11Y2ggZmFzdGVyIHF1ZXJ5LjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rp dj4NCjxkaXY+QW55IG9waW5pb25zIG9uIHRoaXM/PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0K PGRpdj5UaGFua3MsPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwg MCk7IGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IENhbGlicmksIHNhbnMtc2VyaWY7Ij4N Ci1DLjwvZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx NHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KPGJyPg0KPC9kaXY+DQo8 L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L3NwYW4+DQo8 L2JvZHk+DQo8L2h0bWw+DQo= --_000_7F9BEAD7C1904E21824004687FA88435thinktecturecom_--