Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 52D797195 for ; Fri, 2 Sep 2011 16:50:09 +0000 (UTC) Received: (qmail 20287 invoked by uid 500); 2 Sep 2011 16:50:07 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 20186 invoked by uid 500); 2 Sep 2011 16:50:06 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 20174 invoked by uid 99); 2 Sep 2011 16:50:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2011 16:50:06 +0000 X-ASF-Spam-Status: No, hits=1.0 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_PASS,TRACKER_ID X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [128.18.84.114] (HELO mailgate-internal4.sri.com) (128.18.84.114) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 02 Sep 2011 16:49:57 +0000 Received: from brightmail-internal2.sri.com (128.18.84.122) by mailgate-internal4.sri.com with SMTP; 2 Sep 2011 16:49:33 -0000 X-AuditID: 8012547a-b7ccaae000000cc8-e2-4e61091d89c4 Received: from mars.esd.sri.com (mars.esd.sri.com [128.18.26.200]) by brightmail-internal2.sri.com (Symantec Brightmail Gateway) with SMTP id 30.67.03272.D19016E4; Fri, 2 Sep 2011 09:49:33 -0700 (PDT) MIME-version: 1.0 Received: from [192.12.16.233] by mars.esd.sri.com (Sun Java(tm) System Messaging Server 6.3-8.05 (built Sep 1 2009; 64bit)) with ESMTPSA id <0LQW00I6EMQEMX70@mars.esd.sri.com> for user@couchdb.apache.org; Fri, 02 Sep 2011 09:49:26 -0700 (PDT) From: Jim Klo Content-type: multipart/signed; boundary=Apple-Mail-244--479959135; protocol="application/pkcs7-signature"; micalg=sha1 Subject: Re: complex keys, startkey_docid problems Date: Fri, 02 Sep 2011 09:49:33 -0700 In-reply-to: To: user@couchdb.apache.org References: Message-id: <96485E3E-05E9-404D-AADA-7F8A9A03BDC5@sri.com> X-Mailer: Apple Mail (2.1084) X-Brightmail-Tracker: AAAAAA== X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-244--479959135 Content-Type: multipart/alternative; boundary=Apple-Mail-243--479959193 --Apple-Mail-243--479959193 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii I also ran into a similar issue... One thing I discovered is that.. = with startkey_docid is for dealing with non-unique keys: So if your view had: [ { "_id":"111", "key":[1312413443000,"pantagruel"],"value": "a" }, { "_id":"222", "key":[1312413443000,"pantagruel"],"value": "b" }, { "_id":"333", "key":[1312413443000,"pantagruel"],"value": "c" }, { "_id":"444", "key":[1312413443000,"pantagruel"],"value": "d" }, { "_id":"555", "key":[1312413443000,"pantagruel"],"value": "e" }, { "_id":"666", "key":[1312413443000,"pantagruel"],"value": "f" }, ] if you wanted to start returning docs at "_id":"333", you'll want to = use: startkey=3D[1312413443000,"pantagruel"]&startkey_docid=3D333 essentially the startkey_docid has to match with the right key emited in = the view... Jim Klo Senior Software Engineer Center for Software Engineering SRI International On Sep 2, 2011, at 9:37 AM, bryan rasmussen wrote: > Ok thanks, > Bryan Rasmussen >=20 > On Fri, Sep 2, 2011 at 5:50 PM, Robert Newson = wrote: >> A couple of things; >>=20 >> 1) It's 'startkey' not 'startKey', ditto for 'endkey'. >> 2) array keys are not 'complex', they just sort later than strings = and numbers. >> 3) you can only do contiguous ranges. e.g, >> ?startkey=3D["1314785463217"]&endkey=3D["1314785463217",{}] would = find all >> keys where the first item is "1314785463217". >>=20 >> More here: http://wiki.apache.org/couchdb/View_collation >>=20 >> B. >>=20 >> On 2 September 2011 15:40, bryan rasmussen = wrote: >>> Hi, I'm trying to make pagination as I see so many before me have = tried. >>> I am returning rows like the following: >>>=20 >>>=20 >>> {"total_rows":16416,"offset":0,"rows":[ >>> = {"id":"e4ca6ead04c3bef1aebb090a6c0012bf","key":["1314785463217","pantagrue= l"],"value":{"_id":"e4ca6ead04c3bef1aebb090a6c0012bf","_rev":"1-38323bcdc9= 1d2ca2a500877d64e853f0","tags":["mac"," >>> proto-applications"," proto-community"," >>> = administration"],"urls":["http://code.google.com/p/munki/"],"name":"Munki >>> - managed software installs on mac","desc":"munki is a set of tools >>> that, used together with a webserver-based repository of packages = and >>> package metadata, can be used by OS X administrators to manage >>> software installs (and in many cases removals) on OS X client >>> machines. = ","user":"pantagruel","type":"bookmark","timestamp":"1314785463217","priva= te":"true"}}, >>> = {"id":"e4ca6ead04c3bef1aebb090a6c000db9","key":["1314781849543","pantagrue= l"],"value":{"_id":"e4ca6ead04c3bef1aebb090a6c000db9","_rev":"1-b34ebc8019= a13af35743e9620846ed68","tags":["sleepproject"],"urls":["http://www.kk.org= /cooltools/phone-band.png"],"name":"wakemate >>> sleep tracker","desc":"wakes you at optimal moment in sleep based on >>> actigraphy, iphone app >>> = included","user":"pantagruel","type":"bookmark","timestamp":"1314781849543= ","private":"true"}}, >>> = {"id":"e4ca6ead04c3bef1aebb090a6c000736","key":["1314781724733","pantagrue= l"],"value":{"_id":"e4ca6ead04c3bef1aebb090a6c000736","_rev":"1-3277bd6001= 8d2e7a83bae34fcbc5c591","tags":["crafts"," >>> furniture"," = todo"],"urls":["http://blog.craftzine.com/archive/2011/08/how-to_custom_cr= afting_table.html"],"name":"How >>> To: Custom Crafting table","desc":"Guy made custom crafting table = for >>> = girlfriend","user":"pantagruel","type":"bookmark","timestamp":"13147817247= 33","private":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920008d83","key":["1314711957931","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920008d83","_rev":"1-d1dd066024= 39909ca75cf86477304bfc","tags":["proto-community"," >>> javascript"," = security"],"urls":["http://cryptico.wwwtyro.net/"],"name":"simple >>> encryption with js","desc":"rsa >>> = security","user":"pantagruel","type":"bookmark","timestamp":"1314711957931= ","private":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920005685","key":["1314688754986","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920005685","_rev":"1-e203770282= 40f791a49699c9ef776d75","tags":["node"," >>> windows"," = iis"],"urls":["http://feedproxy.google.com/~r/ScottHanselman/~3/1fmcPzcG6b= c/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx"]= ,"name":"Scott >>> Hanselman","desc":"node.js on iis. >>> = ","user":"pantagruel","type":"bookmark","timestamp":"1314688754986","priva= te":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920005543","key":["1314688717931","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920005543","_rev":"1-b6eb3e86a0= ced070b430899dfb91e1b3","tags":["javascript"," >>> concurrent"," .net"," >>> = asynchronous"],"urls":["http://feedproxy.google.com/~r/ScottHanselman/~3/L= AMDcMD5Yfw/AsynchronousScalableWebApplicationsWithRealtimePersistentLongru= nningConnectionsWithSignalR.aspx"],"name":"Scott >>> Hanselman","desc":"Ive been spending some time exploring asynchrony >>> and scale = recently.","user":"pantagruel","type":"bookmark","timestamp":"131468871793= 1","private":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd3492000553d","key":["1314623313554","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd3492000553d","_rev":"1-a71f9e8c3a= 843879457bcf4c3fa61005","tags":["igprojects"," >>> computerscience"],"urls":["http://www.cs4fn.org/magic/"],"name":"The >>> Magic of Computer Science","desc":"Computer science with a view to >>> = illusionism","user":"pantagruel","type":"bookmark","timestamp":"1314623313= 554","private":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920004d90","key":["1314622687423","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920004d90","_rev":"1-2f352d7fb0= 3e2507c5730819a0104de8","tags":["graphics"," >>> programming"," python"," >>> = rasmus"],"urls":["http://www.disneyanimation.com/technology/opensource.htm= l"],"name":"Walt >>> Disneys Open Source","desc":"Disney open source >>> = code","user":"pantagruel","type":"bookmark","timestamp":"1314622687423","p= rivate":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920004a0a","key":["1314612540556","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920004a0a","_rev":"1-e3abcc9fac= cc309b85ba19c6abe66488","tags":["python"," >>> database"," = validation"],"urls":["http://namlook.github.com/mongokit/"],"name":"MongoK= it","desc":"MongoKit >>> is a python module that brings structured schema and validation = layer >>> on top of the great pymongo driver. It has be written to be simpler >>> and lighter as possible with the KISS and DRY principles in >>> = mind.","user":"pantagruel","type":"bookmark","timestamp":"1314612540556","= private":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920003cd0","key":["1314612484796","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920003cd0","_rev":"1-7d7bf3a2ab= f32e9603a15a4728e42e81","tags":["business"],"urls":["http://feedproxy.goog= le.com/~r/boingboing/iBag/~3/hhmmaF8lEjI/stalwart-workers-neglected-backbo= ne-of-the-firm.html"],"name":"Boing >>> Boing","desc":"Writing in a Harvard Business Review blog, professor >>> Thomas J. DeLong talks about Stalwart Workers, a neglected part of = the >>> = ...","user":"pantagruel","type":"bookmark","timestamp":"1314612484796","pr= ivate":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920003070","key":["1314610839221","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920003070","_rev":"1-baa7308bcd= 05a775b47a53bbec1ad355","tags":["statistics"," >>> = books"],"urls":["http://greenteapress.com/thinkstats/html/index.html"],"na= me":"Think >>> Stats","desc":"Probability and Statistics for >>> = Programmers","user":"pantagruel","type":"bookmark","timestamp":"1314610839= 221","private":"true"}}, >>> = {"id":"78dfedabf05d09dec2efd34920001477","key":["1314603808566","pantagrue= l"],"value":{"_id":"78dfedabf05d09dec2efd34920001477","_rev":"1-18b915268f= 4d2b32e19db6001f447a56","tags":["graphics"," >>> art"," = igprojects"],"urls":["http://www.etsy.com/shop/alternatehistories"],"name"= :"prints >>> of ufos etc. in old paintings on etsy","desc":"prints of ufos etc. = in >>> old paintings on >>> = etsy","user":"pantagruel","type":"bookmark","timestamp":"1314603808566","p= rivate":"true"}}, >>> = {"id":"21d06bd703f5156277c16eb8310019e3","key":["1314210710636","pantagrue= l"],"value":{"_id":"21d06bd703f5156277c16eb8310019e3","_rev":"2-b6f02a113d= c9137851371d8449ac2511","tags":["scalability"," >>> = mmx"],"urls":["http://highscalability.com/blog/2011/8/22/strategy-run-a-sc= alable-available-and-cheap-static-site-on-s.html"],"name":"Strategy: >>> Run a Scalable, Available, and Cheap Static Site on S3 or >>> = GitHub","user":"pantagruel","type":"bookmark","timestamp":"1314210710636",= "private":"true","desc":"Werner >>> Vogels, chronicling his experience of transforming his All Things >>> Distributed blog into a static site using S3s ability to serve web >>> pages"}}, >>> = {"id":"21d06bd703f5156277c16eb831001919","key":["1314209004585","pantagrue= l"],"value":{"_id":"21d06bd703f5156277c16eb831001919","_rev":"2-d808ee1c6e= fdd122c411776a723fbdf3","tags":["proto-community"," >>> = mmx"],"urls":["http://jeffkreeftmeijer.com/2011/introducing-tapir-simple-s= earch-for-static-sites/"],"name":"Introducing >>> = Tapir","user":"pantagruel","type":"bookmark","timestamp":"1314209004585","= private":"true","desc":"Tapir >>> is a simple application that indexes your RSS feed and uses Tire >>> (which is powered by Elasticsearch, which is powered by Lucene) to >>> index and search it. It gives you a straightforward JSON API that >>> returns the results."}}, >>> = {"id":"21d06bd703f5156277c16eb8310005ae","key":["1314102233143","pantagrue= l"],"value":{"_id":"21d06bd703f5156277c16eb8310005ae","_rev":"1-6b5142b91b= 05c0da179563db0c4e6527","tags":["audio"," >>> = google"],"urls":["http://googlesystem.blogspot.com/2011/08/music-rich-snip= pets-in-google-search.html"],"name":"Music >>> Rich Snippets in >>> = Google","description":"","user":"pantagruel","type":"bookmark","timestamp"= :"1314102233143","private":"true"}}, >>> = {"id":"2ba97738fea2a8ae0f1b316c64923886","key":[1313615038000,"pantagruel"= ],"value":{"_id":"2ba97738fea2a8ae0f1b316c64923886","_rev":"5-78d666f665ac= 309a81f8d392f33f5492","type":"bookmark","user":"pantagruel","desc":"The >>> Web Is a Customer Service Medium >>> = (Ftrain.com)","datetime":"2011-08-17T21:03:58Z","urls":"http://www.ftrain.= com/wwic.html","private":false,"tags":["businessideas","thomson"],"_delete= d_conflicts":["2-c70c0f9ef0b01573e4203e4314681f0a"]}}, >>> = {"id":"2f6b1522f93d96b9d1f482eacfa58895","key":[1313586111000,"pantagruel"= ],"value":{"_id":"2f6b1522f93d96b9d1f482eacfa58895","_rev":"3-bd80884dc946= 04efbfe50c7beac8f320","type":"bookmark","user":"pantagruel","desc":"Berkel= ium:","datetime":"2011-08-17T13:01:51Z","urls":"http://berkelium.org/","pr= ivate":false,"tags":["proto-applications"]}}, >>> = {"id":"291192e7b314d1e89412cd13b6dadb7e","key":[1313585931000,"pantagruel"= ],"value":{"_id":"291192e7b314d1e89412cd13b6dadb7e","_rev":"1-b18ff85d0a1c= d6abeb5975424360f1a4","type":"bookmark","user":"pantagruel","desc":"Tablib= : >>> Pythonic Tabular Datasets \u0097 Tablib v0.9.11 >>> = documentation","datetime":"2011-08-17T12:58:51Z","urls":"http://docs.tabli= b.org/en/latest/index.html","private":false,"tags":["data","python","progr= amminglibrary"]}}, >>> = {"id":"47c7cde7b8b70a5db0ad8bbcb962cac2","key":[1313579773000,"pantagruel"= ],"value":{"_id":"47c7cde7b8b70a5db0ad8bbcb962cac2","_rev":"3-b48b28885742= 55f114a66edf4806d6b1","type":"bookmark","user":"pantagruel","desc":"Plask"= ,"datetime":"2011-08-17T11:16:13Z","urls":"http://www.plask.org/","private= ":false,"tags":["graphics","mac","programming"]}}, >>> = {"id":"79a5fd984a8ec8850ed4aa0860f330d0","key":[1313579305000,"pantagruel"= ],"value":{"_id":"79a5fd984a8ec8850ed4aa0860f330d0","_rev":"3-b3d076639c33= c1112b60bb7dc0a7d5e2","type":"bookmark","user":"pantagruel","desc":"It >>> does one thing and it does it well. | >>> = MetaFilter","datetime":"2011-08-17T11:08:25Z","urls":"http://www.metafilte= r.com/106567/It-does-one-thing-and-it-does-it-well","private":false,"tags"= :["tools","proto-applications"]}}, >>> = {"id":"b05611b60b3404a5d6139f80609de620","key":[1313567910000,"pantagruel"= ],"value":{"_id":"b05611b60b3404a5d6139f80609de620","_rev":"3-660498c09352= d5dbae70bf2abbcc7f1b","type":"bookmark","user":"pantagruel","desc":"spheri= cal >>> lightshades of various sorts made from everyday objects - playiing >>> cards, train tickets >>> = etc.","datetime":"2011-08-17T07:58:30Z","urls":"http://www.flickr.com/phot= os/nicksayers/4319867051/","private":false,"tags":["lighting","origami"]}}= , >>> = {"id":"6702af5247e703b2be832098b2c7daf7","key":[1313494859000,"pantagruel"= ],"value":{"_id":"6702af5247e703b2be832098b2c7daf7","_rev":"1-c44b734cc336= 6045b0a940d61f56ce31","type":"bookmark","user":"pantagruel","desc":"Restar= ting >>> Node.js When Your Source Changes - Christopher Bennage - Devlicio.us = - >>> Just the Tasty >>>=20 >>> = Bits","datetime":"2011-08-16T11:40:59Z","urls":"http://devlicio.us/blogs/c= hristopher_bennage/archive/2011/08/09/restarting-node-js-when-your-source-= changes.aspx?utm_source=3Dfeedburner&utm_medium=3Dfeed&utm_campaign=3DFeed= %3A+Devlicious+%28Devlicio.us%29","private":false,"tags":["node","tools:de= velopment"]}}, >>> = {"id":"95e73cbb9288dc8d9323ecdb22f5e8a2","key":[1313494650000,"pantagruel"= ],"value":{"_id":"95e73cbb9288dc8d9323ecdb22f5e8a2","_rev":"1-4bea5cffa62d= 12298a741b7dd88a496d","type":"bookmark","user":"pantagruel","desc":"rewrit= e >>> bits of url template, couchdb >>> = loading","datetime":"2011-08-16T11:37:30Z","urls":"http://msdn.microsoft.c= om/en-us/scriptjunkie/gg723713","private":false,"tags":["proto-community",= "javascript","code"]}}, >>> = {"id":"f255a93d4b7f32d080a43d0d58d76e5c","key":[1313494545000,"pantagruel"= ],"value":{"_id":"f255a93d4b7f32d080a43d0d58d76e5c","_rev":"1-3a5ad41a9f28= 410af31459a9566ecd1d","type":"bookmark","user":"pantagruel","desc":"The >>> Shapes of = CSS","datetime":"2011-08-16T11:35:45Z","urls":"http://css-tricks.com/examp= les/ShapesOfCSS/","private":false,"tags":["css","code"]}}, >>> = {"id":"2f89a3f8052eb93596c377fcf291826b","key":[1313494428000,"pantagruel"= ],"value":{"_id":"2f89a3f8052eb93596c377fcf291826b","_rev":"1-da045cffcd80= 8b68fa51cbccc3486631","type":"bookmark","user":"pantagruel","desc":"pjscra= pe: >>> A web-scraping framework written in Javascript, using PhantomJS and >>> = jQuery","datetime":"2011-08-16T11:33:48Z","urls":"http://nrabinowitz.githu= b.com/pjscrape/?utm_source=3Dtwitterfeed&utm_medium=3Dtwitter","private":f= alse,"tags":["javascript","proto-applications"]}}, >>> = {"id":"6e4c4b61a018dc2ba77198c422bc6532","key":[1313492816000,"pantagruel"= ],"value":{"_id":"6e4c4b61a018dc2ba77198c422bc6532","_rev":"1-cee0375e7980= d78577aa306ad088bac2","type":"bookmark","user":"pantagruel","desc":"List >>> of = Algorithms","datetime":"2011-08-16T11:06:56Z","urls":"http://www.scriptol.= com/programming/list-algorithms.php","private":false,"tags":["algorithms"]= }}, >>> = {"id":"4645ba14e94f19db9fe88dcc0384248e","key":[1313492787000,"pantagruel"= ],"value":{"_id":"4645ba14e94f19db9fe88dcc0384248e","_rev":"1-b9146f0b9e80= e74794c329198d11bb82","type":"bookmark","user":"pantagruel","desc":"Amazin= g >>> algorithms to enhance or transform >>> = images","datetime":"2011-08-16T11:06:27Z","urls":"http://www.scriptol.com/= programming/graphic-algorithms.php","private":false,"tags":["graphics","pr= ogramming","proto-applications"]}}, >>> = {"id":"4a1bfe802fc97b0eee1dbaeadd792524","key":[1313492746000,"pantagruel"= ],"value":{"_id":"4a1bfe802fc97b0eee1dbaeadd792524","_rev":"1-484607ac9cfe= a85f9c3745f51ce0767a","type":"bookmark","user":"pantagruel","desc":"D3 >>> for Mere = Mortals","datetime":"2011-08-16T11:05:46Z","urls":"http://www.recursion.or= g/d3-for-mere-mortals/","private":false,"tags":["svg","graphs","graphsproj= ect","graphics","javascript","code"]}}, >>> = {"id":"97bd4002f3c131c0a27224ff5ab54962","key":[1313492433000,"pantagruel"= ],"value":{"_id":"97bd4002f3c131c0a27224ff5ab54962","_rev":"1-9358afd81d61= 06747425f41c210773b8","type":"bookmark","user":"pantagruel","desc":"Fixing= >>> the JavaScript typeof operator \u00ab JavaScript, >>> = JavaScript\u0085","datetime":"2011-08-16T11:00:33Z","urls":"http://javascr= iptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/"= ,"private":false,"tags":["javascript","code"]}}, >>> = {"id":"ae520bb3199bc5278472db70026227a6","key":[1313492392000,"pantagruel"= ],"value":{"_id":"ae520bb3199bc5278472db70026227a6","_rev":"1-0d1060f1263b= 48541f2dde201718eea2","type":"bookmark","user":"pantagruel","desc":"31 >>> days of Canvas tutorials | >>> = CreativeJS","datetime":"2011-08-16T10:59:52Z","urls":"http://creativejs.co= m/2011/08/31-days-of-canvas-tutorials/","private":false,"tags":["canvas","= tutorials"]}}, >>> = {"id":"3a12eb5cf3c99b86d297359addd5c2e6","key":[1313011517000,"pantagruel"= ],"value":{"_id":"3a12eb5cf3c99b86d297359addd5c2e6","_rev":"1-0ab9a437419f= ded98b1523edddc60b74","type":"bookmark","user":"pantagruel","desc":"Steven= >>> Frank: Programming for Mere >>> = Mortals","datetime":"2011-08-10T21:25:17Z","urls":"http://stevenf.com/page= s/book.html","private":false,"tags":["books"]}}, >>> = {"id":"39bb27a174c718515371fb285692e127","key":[1313011397000,"pantagruel"= ],"value":{"_id":"39bb27a174c718515371fb285692e127","_rev":"1-31b4db2c7b71= 9957f39042e0c9ac90dc","type":"bookmark","user":"pantagruel","desc":"SNAP: >>> Stanford Network Analysis >>> = Platform","datetime":"2011-08-10T21:23:17Z","urls":"http://snap.stanford.e= du/snap/","private":false,"tags":["graphs","analysis","network"]}}, >>> = {"id":"1f917619a292d30bc720fb782395be2d","key":[1312925609000,"pantagruel"= ],"value":{"_id":"1f917619a292d30bc720fb782395be2d","_rev":"1-1b6b9854c4aa= d8fd598a1f852a4a69f9","type":"bookmark","user":"pantagruel","desc":"Dead >>> Reckonings \u00bb The Art of Nomography I: Geometric >>> = Design","datetime":"2011-08-09T21:33:29Z","urls":"http://myreckonings.com/= wordpress/2008/01/09/the-art-of-nomography-i-geometric-design","private":f= alse,"tags":["visualization","math","graphics","graphs"]}}, >>> = {"id":"fad2013fa0a8f3fb25b32c7e5bd54c86","key":[1312925581000,"pantagruel"= ],"value":{"_id":"fad2013fa0a8f3fb25b32c7e5bd54c86","_rev":"1-2f6843f530ff= 9b3631a4bf40dfcf762e","type":"bookmark","user":"pantagruel","desc":"mnot\u= 0092s >>> blog: On HTTP Load >>> = Testing","datetime":"2011-08-09T21:33:01Z","urls":"http://www.mnot.net/blo= g/2011/05/18/http_benchmark_rules","private":false,"tags":["performance","= testing"]}}, >>> = {"id":"987896224cc633b541fa44bd02cec9d2","key":[1312789590000,"pantagruel"= ],"value":{"_id":"987896224cc633b541fa44bd02cec9d2","_rev":"1-ee67a20bc8ed= d0c6132787b07fac2305","type":"bookmark","user":"pantagruel","desc":"pubsub= hubbub >>> - A simple, open, web-hook-based pubsub protocol & open source >>> reference implementation. - Google Project >>> = Hosting","datetime":"2011-08-08T07:46:30Z","urls":"http://code.google.com/= p/pubsubhubbub/","private":false,"tags":["proto-community"]}}, >>> = {"id":"93b4fbc0a51385f810dbf3138a5a5963","key":[1312736772000,"pantagruel"= ],"value":{"_id":"93b4fbc0a51385f810dbf3138a5a5963","_rev":"1-9f11036ae958= 34ded058d1ddff6840e1","type":"bookmark","user":"pantagruel","desc":"MAKE >>> | Stereo Panel Controls Bonkers Living Room Lighting >>> = Scheme","datetime":"2011-08-07T17:06:12Z","urls":"http://blog.makezine.com= /archive/2011/08/stereo-panel-controls-bonkers-living-room-lighting-scheme= .html","private":false,"tags":["diy","lighting","automation"]}}, >>> = {"id":"1bfa04421ea8c0bd9635a7db9572cbfd","key":[1312736715000,"pantagruel"= ],"value":{"_id":"1bfa04421ea8c0bd9635a7db9572cbfd","_rev":"1-c90b97eaf514= dbdb95d1649452c56173","type":"bookmark","user":"pantagruel","desc":"Neu! >>> '75 | = MetaFilter","datetime":"2011-08-07T17:05:15Z","urls":"http://www.metafilte= r.com/106287/Neu-75","private":false,"tags":["music"]}}, >>> = {"id":"6ce5e1c31c2aeec7d105d4429fc59ef1","key":[1312723198000,"pantagruel"= ],"value":{"_id":"6ce5e1c31c2aeec7d105d4429fc59ef1","_rev":"1-0b9f2377595b= a5705dea39764a4e6b79","type":"bookmark","user":"pantagruel","desc":"Cyberw= ar >>> | = MetaFilter","datetime":"2011-08-07T13:19:58Z","urls":"http://www.metafilte= r.com/106258/Cyberwar","private":false,"tags":["security","crime","writing= "]}}, >>> = {"id":"a3bbf1b1dc0b96a6ab50ae072d585005","key":[1312717703000,"pantagruel"= ],"value":{"_id":"a3bbf1b1dc0b96a6ab50ae072d585005","_rev":"1-632dd0bca261= 8849b9182b4f4096d532","type":"bookmark","user":"pantagruel","desc":"Main >>> \u00a7 Digital Atlas of Roman and Medieval >>> = Civilization","datetime":"2011-08-07T11:48:23Z","urls":"http://medievalmap= .harvard.edu/icb/icb.do?keyword=3Dk40248&tabgroupid=3Dicb.tabgroup53584","= private":false,"tags":["resources","igprojects","phantaz","writing"]}}, >>> = {"id":"ca6ba808fd97885bdce430dc72a0536e","key":[1312709056000,"pantagruel"= ],"value":{"_id":"ca6ba808fd97885bdce430dc72a0536e","_rev":"1-39bb45de310f= 43b903fbd999e93ac44b","type":"bookmark","user":"pantagruel","desc":"You >>> Got The Love | = MetaFilter","datetime":"2011-08-07T09:24:16Z","urls":"http://www.metafilte= r.com/106274/You-Got-The-Love","private":false,"tags":["music"]}}, >>> = {"id":"8968ca7322577989f11b4c91d0f2e6f4","key":[1312707581000,"pantagruel"= ],"value":{"_id":"8968ca7322577989f11b4c91d0f2e6f4","_rev":"1-b386c153c42b= 84f37260657a13e17564","type":"bookmark","user":"pantagruel","desc":"JSTOR:= >>> fascist = aesthetics","datetime":"2011-08-07T08:59:41Z","urls":"http://www.jstor.org= /pss/261165","private":false,"tags":["design","igprojects"]}}, >>> = {"id":"ae734941c67c0afe6bbead1f1e06258f","key":[1312669296000,"pantagruel"= ],"value":{"_id":"ae734941c67c0afe6bbead1f1e06258f","_rev":"1-81aa72e2d55c= 5a26f36829f119e792e6","type":"bookmark","user":"pantagruel","desc":"Introd= uction >>> to Artificial Intelligence - Fall >>> = 2011","datetime":"2011-08-06T22:21:36Z","urls":"http://www.ai-class.com/",= "private":false,"tags":["education"]}}, >>> = {"id":"f8da1a58b5df5aac4c177b5b35ee2da2","key":[1312669280000,"pantagruel"= ],"value":{"_id":"f8da1a58b5df5aac4c177b5b35ee2da2","_rev":"1-21fcd30e18de= ee5f67f91790ef903bec","type":"bookmark","user":"pantagruel","desc":"Math >>> interview podcast | >>> = MetaFilter","datetime":"2011-08-06T22:21:20Z","urls":"http://www.metafilte= r.com/106252/Math-interview-podcast","private":false,"tags":["math"]}}, >>> = {"id":"9cee84c163a1fa3a060b7b552bd6625c","key":[1312668878000,"pantagruel"= ],"value":{"_id":"9cee84c163a1fa3a060b7b552bd6625c","_rev":"1-f0990ab365c9= 1218e9a4fc4582f7ac09","type":"bookmark","user":"pantagruel","desc":"Neil >>> Fraser: Writing: Differential >>> = Synchronization","datetime":"2011-08-06T22:14:38Z","urls":"http://neil.fra= ser.name/writing/sync/","private":false,"tags":["algorithms"]}}, >>> = {"id":"8dad181d5c9d30c29f3481e34e1bfc84","key":[1312661874000,"pantagruel"= ],"value":{"_id":"8dad181d5c9d30c29f3481e34e1bfc84","_rev":"1-3a800cba8606= d2762e201e67e240bd6c","type":"bookmark","user":"pantagruel","desc":"NounPr= oject","datetime":"2011-08-06T20:17:54Z","urls":"http://thenounproject.com= /","private":false,"tags":["graphics","proto-community","design","resource= s"]}}, >>> = {"id":"867081f73184f086b37574b5e7d85897","key":[1312661806000,"pantagruel"= ],"value":{"_id":"867081f73184f086b37574b5e7d85897","_rev":"1-e433eb5ea676= 974c680110f7c4f0d94b","type":"bookmark","user":"pantagruel","desc":"Node.j= s >>> on Windows (or JavaScript for the backend) - Christopher Bennage - >>> Devlicio.us - Just the Tasty >>> = Bits","datetime":"2011-08-06T20:16:46Z","urls":"http://devlicio.us/blogs/c= hristopher_bennage/archive/2011/07/28/node-js-on-windows.aspx?utm_source=3D= feedburner&utm_medium=3Dfeed&utm_campaign=3DFeed%3A+Devlicious+%28Devlicio= .us%29","private":false,"tags":["node"]}}, >>> = {"id":"8c379a8e14fac821aa47f08ef9eca802","key":[1312661717000,"pantagruel"= ],"value":{"_id":"8c379a8e14fac821aa47f08ef9eca802","_rev":"1-fc556ad7b802= e0425054daf263f2e3ab","type":"bookmark","user":"pantagruel","desc":"templa= ting","datetime":"2011-08-06T20:15:17Z","urls":"http://net.tutsplus.com/tu= torials/javascript-ajax/into-the-ring-with-knockout-js/?utm_source=3Dfeedb= urner&utm_medium=3Dfeed&utm_campaign=3DFeed%3A+nettuts+%28Nettuts%2B%29","= private":false,"tags":["proto-community","code","javascript"]}}, >>> = {"id":"5c5771b29846c2bfb708f78ab3435b51","key":[1312414365000,"pantagruel"= ],"value":{"_id":"5c5771b29846c2bfb708f78ab3435b51","_rev":"1-e7f9d8502ac8= 3f4d43721331c2d25901","type":"bookmark","user":"pantagruel","desc":"Apps >>> vs the Web \u00bb Matt Legend >>> = Gemmell","datetime":"2011-08-03T23:32:45Z","urls":"http://mattgemmell.com/= 2011/07/22/apps-vs-the-web","private":false,"tags":["programming","iphone"= ,"ipad"]}}, >>> = {"id":"e618801b9dc1be7862fc7465999add66","key":[1312414295000,"pantagruel"= ],"value":{"_id":"e618801b9dc1be7862fc7465999add66","_rev":"1-d6752031884b= e850a488176fbe700a09","type":"bookmark","user":"pantagruel","desc":"blog.m= obilephonesecurity.org: >>> Voicemail hacking and the 'phone hacking' scandal - how it worked, >>> questions to be asked and improvements to be >>> = made","datetime":"2011-08-03T23:31:35Z","urls":"http://blog.mobilephonesec= urity.org/2011/07/voicemail-hacking-and-phone-hacking.html","private":fals= e,"tags":["security"]}}, >>> = {"id":"9420730ad098efc91c44ea59553e6af3","key":[1312413443000,"pantagruel"= ],"value":{"_id":"9420730ad098efc91c44ea59553e6af3","_rev":"1-c892a9af2e83= d6d3b909aef27686ab0b","type":"bookmark","user":"pantagruel","desc":"PhoneG= ap","datetime":"2011-08-03T23:17:23Z","urls":"http://www.phonegap.com/","p= rivate":false,"tags":["iphone","programming","apis"]}} >>> ]} >>>=20 >>> with the url >>>=20 >>> = bookmarksByUserWithTimestamp?limit=3D50&descending=3Dtrue&endKey=3D%22pant= agruel%22 >>>=20 >>> that's fine. it's what I want >>> but when I do the following >>>=20 >>> = bookmarksByUserWithTimestamp?limit=3D50&descending=3Dtrue&startKey=3D13124= 13443000&endKey=3D"pantagruel" >>>=20 >>> I get the same document. >>>=20 >>> When I do the following >>> = bookmarksByUserWithTimestamp?limit=3D50&descending=3Dtrue&startKey=3D13124= 13443000&endKey=3D"pantagruel"&startkey_docid=3D9420730ad098efc91c44ea5955= 3e6af3 >>> I also get the same, the same if I skip the startKey parameter = altogether >>>=20 >>> What I want obviously is to start returning documents from id >>> 9420730ad098efc91c44ea59553e6af3 >>> how do I do that while still maintaining the descending=3Dtrue order = of >>> my results? >>>=20 >>> Thanks, >>> Bryan Rasmussen >>>=20 >>=20 --Apple-Mail-243--479959193 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
{ "_id":"222", "key":[1312413443000,"pantagruel"],"= value": "b" = },
{ "_id":"333", "key":[1312413443000,"pantagruel"],"= value": "c" = },
{ "_id":"444", "key":[1312413443000,"pantagruel"],"= value": "d" = },
{ "_id":"555", "key":[1312413443000,"pantagruel"],"= value": "e" = },
{ "_id":"666", "key":[1312413443000,"pantagruel"],"= value": "f" },
]

if you wanted to = start returning docs at "_id":"333", you'll want to use: = startkey=3D[1312413443000,"pantagruel"]&startkey_docid=3D333

essentially the startkey_docid has to match with the = right key emited in the view...

Jim Klo
Senior Software Engineer
Center for Software Engineering
SRI = International




On Sep 2, 2011, at 9:37 AM, bryan rasmussen = wrote:

Ok thanks,
Bryan Rasmussen

On Fri, Sep 2, = 2011 at 5:50 PM, Robert Newson <rnewson@apache.org> = wrote:
A couple of = things;

1) It's = 'startkey' not 'startKey', ditto for = 'endkey'.
2) array keys are = not 'complex', they just sort later than strings and = numbers.
3) you can only do = contiguous ranges. e.g,
?startkey=3D["1314785463217"]&endkey=3D["1314785463217",= {}] would find all
keys where = the first item is "1314785463217".

More here: http://wiki.apache.= org/couchdb/View_collation

B.

On 2 September = 2011 15:40, bryan rasmussen <rasmussen.bryan@gmail.com>= ; wrote:
Hi, I'm trying to make pagination as I see so many before = me have tried.
I am returning rows like the = following:


{"total_rows":16416,"offset":0,"rows":[
{"id":"e4ca6ead04c3bef1aebb090a6c0012bf","key":["13147854632= 17","pantagruel"],"value":{"_id":"e4ca6ead04c3bef1aebb090a6c0012bf","_rev"= :"1-38323bcdc91d2ca2a500877d64e853f0","tags":["mac","
proto-applications"," = proto-community","
administration"],"urls":["http://code.google.com/p/munki/"],"name":"Munki
- managed software installs on = mac","desc":"munki is a set of = tools
that, used together with a webserver-based repository of = packages and
package metadata, can be used by = OS X administrators to manage
software installs (and in many = cases removals) on OS X client
machines. = ","user":"pantagruel","type":"bookmark","timestamp":"1314785463217","priva= te":"true"}},
{"id":"e4ca6ead04c3bef1aebb090a6c000db9","key":["13147818495= 43","pantagruel"],"value":{"_id":"e4ca6ead04c3bef1aebb090a6c000db9","_rev"= :"1-b34ebc8019a13af35743e9620846ed68","tags":["sleepproject"],"urls":["http://www.kk.org/cool= tools/phone-band.png"],"name":"wakemate
<= blockquote type=3D"cite">
sleep = tracker","desc":"wakes you at optimal moment in sleep based = on
actigraphy, iphone = app
included","user":"pantagruel","type":"bookmark","timestamp":= "1314781849543","private":"true"}},
{"id":"e4ca6ead04c3bef1aebb090a6c000736","key":["13147817247= 33","pantagruel"],"value":{"_id":"e4ca6ead04c3bef1aebb090a6c000736","_rev"= :"1-3277bd60018d2e7a83bae34fcbc5c591","tags":["crafts","
<= /blockquote>
furniture"," todo"],"urls":["http://blog.craftzine.com/archive/2011/08/how-to_custom_craftin= g_table.html"],"name":"How
To: Custom Crafting = table","desc":"Guy made custom crafting table = for
girlfriend","user":"pantagruel","type":"bookmark","timestamp= ":"1314781724733","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920008d83","key":["13147119579= 31","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920008d83","_rev"= :"1-d1dd06602439909ca75cf86477304bfc","tags":["proto-community","
javascript"," security"],"urls":["http://cryptico.wwwtyro.net/"],"= name":"simple
encryption with = js","desc":"rsa
security","user":"pantagruel","type":"bookmark","timestamp":= "1314711957931","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920005685","key":["13146887549= 86","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920005685","_rev"= :"1-e20377028240f791a49699c9ef776d75","tags":["node","
windows"," = iis"],"urls":["http://= feedproxy.google.com/~r/ScottHanselman/~3/1fmcPzcG6bc/InstallingAndRunning= NodejsApplicationsWithinIISOnWindowsAreYouMad.aspx"],"name":"Scott
=
Hanselman","desc":"node.js on = iis.
","user":"pantagruel","type":"bookmark","timestamp":"1314688= 754986","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920005543","key":["13146887179= 31","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920005543","_rev"= :"1-b6eb3e86a0ced070b430899dfb91e1b3","tags":["javascript","
concurrent"," = .net","
asynchronous"],"urls":["http= ://feedproxy.google.com/~r/ScottHanselman/~3/LAMDcMD5Yfw/AsynchronousS= calableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSign= alR.aspx"],"name":"Scott
Hanselman","desc":"Ive been = spending some time exploring = asynchrony
and scale = recently.","user":"pantagruel","type":"bookmark","timestamp":"131468871793= 1","private":"true"}},
{"id":"78dfedabf05d09dec2efd3492000553d","key":["13146233135= 54","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd3492000553d","_rev"= :"1-a71f9e8c3a843879457bcf4c3fa61005","tags":["igprojects","
computerscience"],"urls":["http://www.cs4fn.org/magic/"],"na= me":"The
Magic of Computer = Science","desc":"Computer science with a view = to
illusionism","user":"pantagruel","type":"bookmark","timestam= p":"1314623313554","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920004d90","key":["13146226874= 23","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920004d90","_rev"= :"1-2f352d7fb03e2507c5730819a0104de8","tags":["graphics","
programming"," = python","
rasmus"],"urls":["http://= www.disneyanimation.com/technology/opensource.html"],"name":"Walt
<= /blockquote>
Disneys Open Source","desc":"Disney open = source
code","user":"pantagruel","type":"bookmark","timestamp":"131= 4622687423","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920004a0a","key":["13146125405= 56","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920004a0a","_rev"= :"1-e3abcc9faccc309b85ba19c6abe66488","tags":["python","
<= /blockquote>
database"," validation"],"urls":["http://namlook.github.com/mon= gokit/"],"name":"MongoKit","desc":"MongoKit
is a python = module that brings structured schema and validation = layer
on top of the great pymongo driver. It has be written to = be simpler
and lighter as possible with the = KISS and DRY principles in
mind.","user":"pantagruel","type":"bookmark","timestamp":"13= 14612540556","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920003cd0","key":["13146124847= 96","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920003cd0","_rev"= :"1-7d7bf3a2abf32e9603a15a4728e42e81","tags":["business"],"urls":["http://feedproxy.google.= com/~r/boingboing/iBag/~3/hhmmaF8lEjI/stalwart-workers-neglected-backbone-= of-the-firm.html"],"name":"Boing
Boing","desc":"Writing in a = Harvard Business Review blog, = professor
Thomas J. DeLong talks about = Stalwart Workers, a neglected part of = the
...","user":"pantagruel","type":"bookmark","timestamp":"1314= 612484796","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920003070","key":["13146108392= 21","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920003070","_rev"= :"1-baa7308bcd05a775b47a53bbec1ad355","tags":["statistics","
books"],"urls":["http://greent= eapress.com/thinkstats/html/index.html"],"name":"Think
Stats","desc":"Probability and Statistics = for
Programmers","user":"pantagruel","type":"bookmark","timestam= p":"1314610839221","private":"true"}},
{"id":"78dfedabf05d09dec2efd34920001477","key":["13146038085= 66","pantagruel"],"value":{"_id":"78dfedabf05d09dec2efd34920001477","_rev"= :"1-18b915268f4d2b32e19db6001f447a56","tags":["graphics","
art"," = igprojects"],"urls":["http://www.etsy.com/s= hop/alternatehistories"],"name":"prints
<= blockquote type=3D"cite">
of ufos etc. in old = paintings on etsy","desc":"prints of ufos etc. = in
old paintings on
etsy","user":"pantagruel","type":"bookmark","timestamp":"131= 4603808566","private":"true"}},
{"id":"21d06bd703f5156277c16eb8310019e3","key":["13142107106= 36","pantagruel"],"value":{"_id":"21d06bd703f5156277c16eb8310019e3","_rev"= :"2-b6f02a113dc9137851371d8449ac2511","tags":["scalability","
mmx"],"urls":["http://highscalability.com/blog= /2011/8/22/strategy-run-a-scalable-available-and-cheap-static-site-on-s.ht= ml"],"name":"Strategy:
Run a Scalable, Available, and = Cheap Static Site on S3 or
GitHub","user":"pantagruel","type":"bookmark","timestamp":"1= 314210710636","private":"true","desc":"Werner
Vogels, chronicling = his experience of transforming his All = Things
Distributed blog into a static site using S3s ability to = serve web
pages"}},
{"id":"21d06bd703f5156277c16eb831001919","key":["13142090045= 85","pantagruel"],"value":{"_id":"21d06bd703f5156277c16eb831001919","_rev"= :"2-d808ee1c6efdd122c411776a723fbdf3","tags":["proto-community","
mmx"],"urls":["http://jeffkreeftmeijer.com/2011/introducing-tapir-simpl= e-search-for-static-sites/"],"name":"Introducing
Tapir","user":"pantagruel","type":"bookmark","timestamp":"13= 14209004585","private":"true","desc":"Tapir
<= blockquote type=3D"cite">
is a simple = application that indexes your RSS feed and uses = Tire
(which is powered by Elasticsearch, which is powered by = Lucene) to
index and search it. It gives = you a straightforward JSON API = that
returns the = results."}},
{"id":"21d06bd703f5156277c16eb8310005ae","key":["13141022331= 43","pantagruel"],"value":{"_id":"21d06bd703f5156277c16eb8310005ae","_rev"= :"1-6b5142b91b05c0da179563db0c4e6527","tags":["audio","
google"],"urls":["http://googlesystem.blogspot.com/2011/08/music-rich-snip= pets-in-google-search.html"],"name":"Music
Rich Snippets = in
Google","description":"","user":"pantagruel","type":"bookmar= k","timestamp":"1314102233143","private":"true"}},
{"id":"2ba97738fea2a8ae0f1b316c64923886","key":[131361503800= 0,"pantagruel"],"value":{"_id":"2ba97738fea2a8ae0f1b316c64923886","_rev":"= 5-78d666f665ac309a81f8d392f33f5492","type":"bookmark","user":"pantagruel",= "desc":"The
Web Is a Customer Service = Medium
(Ftrain.com)","datetime":"2011-08-17T21:03:5= 8Z","urls":"http://www.ftrain.com/wwic.html","private":false,"tags":["businessideas","thomson"],"_deleted_conflicts= ":["2-c70c0f9ef0b01573e4203e4314681f0a"]}},
<= blockquote type=3D"cite">
{"id":"2f6b1522f93d96b9d1f482eacfa58895","key":[131358611100= 0,"pantagruel"],"value":{"_id":"2f6b1522f93d96b9d1f482eacfa58895","_rev":"= 3-bd80884dc94604efbfe50c7beac8f320","type":"bookmark","user":"pantagruel",= "desc":"Berkelium:","datetime":"2011-08-17T13:01:51Z","urls":"http://berkelium.org/","private":false,= "tags":["proto-applications"]}},
{"id":"291192e7b314d1e89412cd13b6dadb7e","key":[131358593100= 0,"pantagruel"],"value":{"_id":"291192e7b314d1e89412cd13b6dadb7e","_rev":"= 1-b18ff85d0a1cd6abeb5975424360f1a4","type":"bookmark","user":"pantagruel",= "desc":"Tablib:
Pythonic Tabular Datasets \u0097 = Tablib v0.9.11
documentation","datetime":"2011-08-17T12:58:51Z","urls":"http://docs.tablib.or= g/en/latest/index.html","private":false,"tags":["data","python","progr= amminglibrary"]}},
{"id":"47c7cde7b8b70a5db0ad8bbcb962cac2","key":[131357977300= 0,"pantagruel"],"value":{"_id":"47c7cde7b8b70a5db0ad8bbcb962cac2","_rev":"= 3-b48b2888574255f114a66edf4806d6b1","type":"bookmark","user":"pantagruel",= "desc":"Plask","datetime":"2011-08-17T11:16:13Z","urls":"http://www.plask.org/","private":false,= "tags":["graphics","mac","programming"]}},
{"id":"79a5fd984a8ec8850ed4aa0860f330d0","key":[131357930500= 0,"pantagruel"],"value":{"_id":"79a5fd984a8ec8850ed4aa0860f330d0","_rev":"= 3-b3d076639c33c1112b60bb7dc0a7d5e2","type":"bookmark","user":"pantagruel",= "desc":"It
does one thing and it does it = well. |
MetaFilter","datetime":"2011-08-17T11:08:25Z","urls":"http://www.metafilter.com/106567/It-does-one-thing-and-it-does-it-we= ll","private":false,"tags":["tools","proto-applications"]}},
{"id":"b05611b60b3404a5d6139f80609de620","key":[131356791000= 0,"pantagruel"],"value":{"_id":"b05611b60b3404a5d6139f80609de620","_rev":"= 3-660498c09352d5dbae70bf2abbcc7f1b","type":"bookmark","user":"pantagruel",= "desc":"spherical
lightshades of various sorts = made from everyday objects - = playiing
cards, train = tickets
etc.","datetime":"2011-08-17T07:58:30Z","urls":"http://www.fl= ickr.com/photos/nicksayers/4319867051/","private":false,"tags":["light= ing","origami"]}},
{"id":"6702af5247e703b2be832098b2c7daf7","key":[131349485900= 0,"pantagruel"],"value":{"_id":"6702af5247e703b2be832098b2c7daf7","_rev":"= 1-c44b734cc3366045b0a940d61f56ce31","type":"bookmark","user":"pantagruel",= "desc":"Restarting
Node.js When Your Source Changes = - Christopher Bennage - Devlicio.us = -
Just the Tasty

Bits","datetime":"2011-08-16T11:40:59Z","urls":"http://devlicio.us/blogs/christopher_bennage/archive/2011/08/09/restarti= ng-node-js-when-your-source-changes.aspx?utm_source=3Dfeedburner&utm_m= edium=3Dfeed&utm_campaign=3DFeed%3A+Devlicious+%28Devlicio.us%29",= "private":false,"tags":["node","tools:development"]}},
{"id":"95e73cbb9288dc8d9323ecdb22f5e8a2","key":[131349465000= 0,"pantagruel"],"value":{"_id":"95e73cbb9288dc8d9323ecdb22f5e8a2","_rev":"= 1-4bea5cffa62d12298a741b7dd88a496d","type":"bookmark","user":"pantagruel",= "desc":"rewrite
bits of url template, = couchdb
loading","datetime":"2011-08-16T11:37:30Z","urls":"http://msdn= .microsoft.com/en-us/scriptjunkie/gg723713","private":false,"tags":["p= roto-community","javascript","code"]}},
{"id":"f255a93d4b7f32d080a43d0d58d76e5c","key":[131349454500= 0,"pantagruel"],"value":{"_id":"f255a93d4b7f32d080a43d0d58d76e5c","_rev":"= 1-3a5ad41a9f28410af31459a9566ecd1d","type":"bookmark","user":"pantagruel",= "desc":"The
Shapes of = CSS","datetime":"2011-08-16T11:35:45Z","urls":"http://css-tricks.com= /examples/ShapesOfCSS/","private":false,"tags":["css","code"]}},
{"id":"2f89a3f8052eb93596c377fcf291826b","key":[131349442800= 0,"pantagruel"],"value":{"_id":"2f89a3f8052eb93596c377fcf291826b","_rev":"= 1-da045cffcd808b68fa51cbccc3486631","type":"bookmark","user":"pantagruel",= "desc":"pjscrape:
A web-scraping framework written = in Javascript, using PhantomJS = and
jQuery","datetime":"2011-08-16T11:33:48Z","urls":"http://nrabinowitz.github.com/pjscrape/?utm_sourc= e=3Dtwitterfeed&utm_medium=3Dtwitter","private":false,"tags":["jav= ascript","proto-applications"]}},
{"id":"6e4c4b61a018dc2ba77198c422bc6532","key":[131349281600= 0,"pantagruel"],"value":{"_id":"6e4c4b61a018dc2ba77198c422bc6532","_rev":"= 1-cee0375e7980d78577aa306ad088bac2","type":"bookmark","user":"pantagruel",= "desc":"List
of = Algorithms","datetime":"2011-08-16T11:06:56Z","urls":"http://ww= w.scriptol.com/programming/list-algorithms.php","private":false,"tags"= :["algorithms"]}},
{"id":"4645ba14e94f19db9fe88dcc0384248e","key":[131349278700= 0,"pantagruel"],"value":{"_id":"4645ba14e94f19db9fe88dcc0384248e","_rev":"= 1-b9146f0b9e80e74794c329198d11bb82","type":"bookmark","user":"pantagruel",= "desc":"Amazing
algorithms to enhance or = transform
images","datetime":"2011-08-16T11:06:27Z","urls":"http:/= /www.scriptol.com/programming/graphic-algorithms.php","private":false,= "tags":["graphics","programming","proto-applications"]}},
=
{"id":"4a1bfe802fc97b0eee1dbaeadd792524","key":[131349274600= 0,"pantagruel"],"value":{"_id":"4a1bfe802fc97b0eee1dbaeadd792524","_rev":"= 1-484607ac9cfea85f9c3745f51ce0767a","type":"bookmark","user":"pantagruel",= "desc":"D3
for Mere = Mortals","datetime":"2011-08-16T11:05:46Z","urls":"http://www.recursio= n.org/d3-for-mere-mortals/","private":false,"tags":["svg","graphs","gr= aphsproject","graphics","javascript","code"]}},
{"id":"97bd4002f3c131c0a27224ff5ab54962","key":[131349243300= 0,"pantagruel"],"value":{"_id":"97bd4002f3c131c0a27224ff5ab54962","_rev":"= 1-9358afd81d6106747425f41c210773b8","type":"bookmark","user":"pantagruel",= "desc":"Fixing
the JavaScript typeof operator = \u00ab JavaScript,
JavaScript\u0085","datetime":"2011-08-16T11:00:33Z","urls":"= http://javascriptweblog.wordpress.com/2011/08/08/fi= xing-the-javascript-typeof-operator/","private":false,"tags":["javascr= ipt","code"]}},
{"id":"ae520bb3199bc5278472db70026227a6","key":[131349239200= 0,"pantagruel"],"value":{"_id":"ae520bb3199bc5278472db70026227a6","_rev":"= 1-0d1060f1263b48541f2dde201718eea2","type":"bookmark","user":"pantagruel",= "desc":"31
days of Canvas tutorials = |
CreativeJS","datetime":"2011-08-16T10:59:52Z","urls":"http:/= /creativejs.com/2011/08/31-days-of-canvas-tutorials/","private":false,= "tags":["canvas","tutorials"]}},
{"id":"3a12eb5cf3c99b86d297359addd5c2e6","key":[131301151700= 0,"pantagruel"],"value":{"_id":"3a12eb5cf3c99b86d297359addd5c2e6","_rev":"= 1-0ab9a437419fded98b1523edddc60b74","type":"bookmark","user":"pantagruel",= "desc":"Steven
Frank: Programming for = Mere
Mortals","datetime":"2011-08-10T21:25:17Z","urls":"http://stevenf.com/pages/book.= html","private":false,"tags":["books"]}},
{"id":"39bb27a174c718515371fb285692e127","key":[131301139700= 0,"pantagruel"],"value":{"_id":"39bb27a174c718515371fb285692e127","_rev":"= 1-31b4db2c7b719957f39042e0c9ac90dc","type":"bookmark","user":"pantagruel",= "desc":"SNAP:
Stanford Network = Analysis
Platform","datetime":"2011-08-10T21:23:17Z","urls":"http://snap.stanford.edu/snap/= ","private":false,"tags":["graphs","analysis","network"]}},
{"id":"1f917619a292d30bc720fb782395be2d","key":[131292560900= 0,"pantagruel"],"value":{"_id":"1f917619a292d30bc720fb782395be2d","_rev":"= 1-1b6b9854c4aad8fd598a1f852a4a69f9","type":"bookmark","user":"pantagruel",= "desc":"Dead
Reckonings \u00bb The Art of = Nomography I: Geometric
Design","datetime":"2011-08-09T21:33:29Z","urls":"http://myreckonings.com/wordpress/2008/01/09/the-art-= of-nomography-i-geometric-design","private":false,"tags":["visualizati= on","math","graphics","graphs"]}},
{"id":"fad2013fa0a8f3fb25b32c7e5bd54c86","key":[131292558100= 0,"pantagruel"],"value":{"_id":"fad2013fa0a8f3fb25b32c7e5bd54c86","_rev":"= 1-2f6843f530ff9b3631a4bf40dfcf762e","type":"bookmark","user":"pantagruel",= "desc":"mnot\u0092s
blog: On HTTP = Load
Testing","datetime":"2011-08-09T21:33:01Z","urls":"http://w= ww.mnot.net/blog/2011/05/18/http_benchmark_rules","private":false,"tag= s":["performance","testing"]}},
{"id":"987896224cc633b541fa44bd02cec9d2","key":[131278959000= 0,"pantagruel"],"value":{"_id":"987896224cc633b541fa44bd02cec9d2","_rev":"= 1-ee67a20bc8edd0c6132787b07fac2305","type":"bookmark","user":"pantagruel",= "desc":"pubsubhubbub
- A simple, open, web-hook-based = pubsub protocol & open = source
reference implementation. - Google = Project
Hosting","datetime":"2011-08-08T07:46:30Z","urls":"http://code.google.com/p/p= ubsubhubbub/","private":false,"tags":["proto-community"]}},
{"id":"93b4fbc0a51385f810dbf3138a5a5963","key":[131273677200= 0,"pantagruel"],"value":{"_id":"93b4fbc0a51385f810dbf3138a5a5963","_rev":"= 1-9f11036ae95834ded058d1ddff6840e1","type":"bookmark","user":"pantagruel",= "desc":"MAKE
| Stereo Panel Controls Bonkers = Living Room Lighting
Scheme","datetime":"2011-08-07T17:06:12Z","urls":"http://blog.makezine.com/archive/20= 11/08/stereo-panel-controls-bonkers-living-room-lighting-scheme.html",= "private":false,"tags":["diy","lighting","automation"]}},
=
{"id":"1bfa04421ea8c0bd9635a7db9572cbfd","key":[131273671500= 0,"pantagruel"],"value":{"_id":"1bfa04421ea8c0bd9635a7db9572cbfd","_rev":"= 1-c90b97eaf514dbdb95d1649452c56173","type":"bookmark","user":"pantagruel",= "desc":"Neu!
'75 | = MetaFilter","datetime":"2011-08-07T17:05:15Z","urls":"http://www.metafilter.com= /106287/Neu-75","private":false,"tags":["music"]}},
{"id":"6ce5e1c31c2aeec7d105d4429fc59ef1","key":[131272319800= 0,"pantagruel"],"value":{"_id":"6ce5e1c31c2aeec7d105d4429fc59ef1","_rev":"= 1-0b9f2377595ba5705dea39764a4e6b79","type":"bookmark","user":"pantagruel",= "desc":"Cyberwar
| = MetaFilter","datetime":"2011-08-07T13:19:58Z","urls":"http://www.metafilter.c= om/106258/Cyberwar","private":false,"tags":["security","crime","writin= g"]}},
{"id":"a3bbf1b1dc0b96a6ab50ae072d585005","key":[131271770300= 0,"pantagruel"],"value":{"_id":"a3bbf1b1dc0b96a6ab50ae072d585005","_rev":"= 1-632dd0bca2618849b9182b4f4096d532","type":"bookmark","user":"pantagruel",= "desc":"Main
\u00a7 Digital Atlas of Roman = and Medieval
Civilization","datetime":"2011-08-07T11:48:23Z","urls":"http://medievalmap.harvard.edu/icb/icb.do?key= word=3Dk40248&tabgroupid=3Dicb.tabgroup53584","private":false,"tag= s":["resources","igprojects","phantaz","writing"]}},
{"id":"ca6ba808fd97885bdce430dc72a0536e","key":[131270905600= 0,"pantagruel"],"value":{"_id":"ca6ba808fd97885bdce430dc72a0536e","_rev":"= 1-39bb45de310f43b903fbd999e93ac44b","type":"bookmark","user":"pantagruel",= "desc":"You
Got The Love | = MetaFilter","datetime":"2011-08-07T09:24:16Z","urls":"http://www.meta= filter.com/106274/You-Got-The-Love","private":false,"tags":["music"]}}= ,
{"id":"8968ca7322577989f11b4c91d0f2e6f4","key":[131270758100= 0,"pantagruel"],"value":{"_id":"8968ca7322577989f11b4c91d0f2e6f4","_rev":"= 1-b386c153c42b84f37260657a13e17564","type":"bookmark","user":"pantagruel",= "desc":"JSTOR:
fascist = aesthetics","datetime":"2011-08-07T08:59:41Z","urls":"http://www.jstor.org/pss/261165","private":false,"tags":["design","igprojects"]}},
{"id":"ae734941c67c0afe6bbead1f1e06258f","key":[131266929600= 0,"pantagruel"],"value":{"_id":"ae734941c67c0afe6bbead1f1e06258f","_rev":"= 1-81aa72e2d55c5a26f36829f119e792e6","type":"bookmark","user":"pantagruel",= "desc":"Introduction
to Artificial Intelligence - = Fall
2011","datetime":"2011-08-06T22:21:36Z","urls":"http://www.ai-class.com/","private":= false,"tags":["education"]}},
{"id":"f8da1a58b5df5aac4c177b5b35ee2da2","key":[131266928000= 0,"pantagruel"],"value":{"_id":"f8da1a58b5df5aac4c177b5b35ee2da2","_rev":"= 1-21fcd30e18deee5f67f91790ef903bec","type":"bookmark","user":"pantagruel",= "desc":"Math
interview podcast = |
MetaFilter","datetime":"2011-08-06T22:21:20Z","urls":"http://ww= w.metafilter.com/106252/Math-interview-podcast","private":false,"tags"= :["math"]}},
{"id":"9cee84c163a1fa3a060b7b552bd6625c","key":[131266887800= 0,"pantagruel"],"value":{"_id":"9cee84c163a1fa3a060b7b552bd6625c","_rev":"= 1-f0990ab365c91218e9a4fc4582f7ac09","type":"bookmark","user":"pantagruel",= "desc":"Neil
Fraser: Writing: = Differential
Synchronization","datetime":"2011-08-06T22:14:38Z","urls":"<= a = href=3D"http://neil.fraser.name/writing/sync/">http://neil.fraser.name/wri= ting/sync/","private":false,"tags":["algorithms"]}},
<= /blockquote>
{"id":"8dad181d5c9d30c29f3481e34e1bfc84","key":[131266187400= 0,"pantagruel"],"value":{"_id":"8dad181d5c9d30c29f3481e34e1bfc84","_rev":"= 1-3a800cba8606d2762e201e67e240bd6c","type":"bookmark","user":"pantagruel",= "desc":"NounProject","datetime":"2011-08-06T20:17:54Z","urls":"http://thenounproject.com/","priva= te":false,"tags":["graphics","proto-community","design","resources"]}},
{"id":"867081f73184f086b37574b5e7d85897","key":[131266180600= 0,"pantagruel"],"value":{"_id":"867081f73184f086b37574b5e7d85897","_rev":"= 1-e433eb5ea676974c680110f7c4f0d94b","type":"bookmark","user":"pantagruel",= "desc":"Node.js
on Windows (or JavaScript for = the backend) - Christopher Bennage = -
Devlicio.us - Just the = Tasty
Bits","datetime":"2011-08-06T20:16:46Z","urls":"http://devlicio.us/blog= s/christopher_bennage/archive/2011/07/28/node-js-on-windows.aspx?utm_sourc= e=3Dfeedburner&utm_medium=3Dfeed&utm_campaign=3DFeed%3A+Devlicious= +%28Devlicio.us%29","private":false,"tags":["node"]}},
{"id":"8c379a8e14fac821aa47f08ef9eca802","key":[131266171700= 0,"pantagruel"],"value":{"_id":"8c379a8e14fac821aa47f08ef9eca802","_rev":"= 1-fc556ad7b802e0425054daf263f2e3ab","type":"bookmark","user":"pantagruel",= "desc":"templating","datetime":"2011-08-06T20:15:17Z","urls":"http://net.tutsplus.com/tutorials= /javascript-ajax/into-the-ring-with-knockout-js/?utm_source=3Dfeedburner&a= mp;utm_medium=3Dfeed&utm_campaign=3DFeed%3A+nettuts+%28Nettuts%2B%29","private":false,"tags":["proto-community","code","javascript"]}},
<= /blockquote>
{"id":"5c5771b29846c2bfb708f78ab3435b51","key":[131241436500= 0,"pantagruel"],"value":{"_id":"5c5771b29846c2bfb708f78ab3435b51","_rev":"= 1-e7f9d8502ac83f4d43721331c2d25901","type":"bookmark","user":"pantagruel",= "desc":"Apps
vs the Web \u00bb Matt = Legend
Gemmell","datetime":"2011-08-03T23:32:45Z","urls":"http://mattgemm= ell.com/2011/07/22/apps-vs-the-web","private":false,"tags":["programmi= ng","iphone","ipad"]}},
{"id":"e618801b9dc1be7862fc7465999add66","key":[131241429500= 0,"pantagruel"],"value":{"_id":"e618801b9dc1be7862fc7465999add66","_rev":"= 1-d6752031884be850a488176fbe700a09","type":"bookmark","user":"pantagruel",= "desc":"blog.mobilephonesecurity.org<= /a>:
Voicemail hacking and the 'phone hacking' scandal - how it = worked,
questions to be asked and improvements to = be
made","datetime":"2011-08-03T23:31:35Z","urls":"http://blog.mobilephonesecurity.org/2011/07/voicemail-= hacking-and-phone-hacking.html","private":false,"tags":["security"]}},=
{"id":"9420730ad098efc91c44ea59553e6af3","key":[131241344300= 0,"pantagruel"],"value":{"_id":"9420730ad098efc91c44ea59553e6af3","_rev":"= 1-c892a9af2e83d6d3b909aef27686ab0b","type":"bookmark","user":"pantagruel",= "desc":"PhoneGap","datetime":"2011-08-03T23:17:23Z","urls":"http://www.phonegap.com/","private":= false,"tags":["iphone","programming","apis"]}}
]}

with the = url

bookmarksByUserWithTimestamp?limit=3D50&descending=3Dtru= e&endKey=3D%22pantagruel%22

that's fine. it's what I = want
but when I do the = following

bookmarksByUserWithTimestamp?limit=3D50&descending=3Dtru= e&startKey=3D1312413443000&endKey=3D"pantagruel"
<= /blockquote>

I get the same = document.

When I do the = following
bookmarksByUserWithTimestamp?limit=3D50&descending=3Dtru= e&startKey=3D1312413443000&endKey=3D"pantagruel"&startkey_doci= d=3D9420730ad098efc91c44ea59553e6af3
I also get the same, the = same if I skip the startKey parameter = altogether

What I want obviously is to = start returning documents from = id
9420730ad098efc91c44ea59553e6af3
how do I do that = while still maintaining the descending=3Dtrue order = of
my results?

Thanks,
Bryan = Rasmussen



= --Apple-Mail-243--479959193-- --Apple-Mail-244--479959135 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJ/zCCBO0w ggRWoAMCAQICEBZ7jcIF++u6rxPdCkJYyG0wDQYJKoZIhvcNAQEFBQAwgdgxCzAJBgNVBAYTAlVT MRowGAYDVQQKExFTUkkgSW50ZXJuYXRpb25hbDEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0 d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9y cGEgKGMpMDIxMDAuBgNVBAsTJ0NsYXNzIDIgT25TaXRlIEluZGl2aWR1YWwgU3Vic2NyaWJlciBD QTEdMBsGA1UEAxMUU1JJIEludGVybmF0aW9uYWwgQ0EwHhcNMTEwMTE3MDAwMDAwWhcNMTIwMTE3 MjM1OTU5WjCBwjEaMBgGA1UEChQRU1JJIEludGVybmF0aW9uYWwxKDAmBgNVBAsUH0luZm9ybWF0 aW9uIFRlY2hub2xvZ3kgU2VydmljZXMxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3Np dG9yeS9DUFMgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTkxEjAQBgNVBAMTCUphbWVzIEts bzEeMBwGCSqGSIb3DQEJARYPamltLmtsb0BzcmkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEA7X0QQ3Ag7/cRBwEgKfDEaOgXLwvnLhzmgY1bon3wSEK/ezUhlPhw8X/O4krsRp9v GKHAS5Z29ix+6B+PHJI3aptqCfaCT3ffu6MWFIyAhNaFNdvRBy8MhsD5lvjRffA7oysddhLWJ9AV madJBXjf0Fl+qoS/q0MbjsZSrQHeizYcv91SxcsWovgM6XoY87v0o7tHzUBWEr6jEOrvz50XKB8m pytqWAR8zLkp0NmsdgNk/PX6yXA3T4rPS690WOV3EDGK8pum2DIG7B319/lVeFQPdKdjNGpSivVt GXtT1W/KtpzW8Olmkn1sprupVOZXsKLU/MFXYPoFdR4pXoYViwIDAQABo4IBRjCCAUIwCQYDVR0T BAIwADCBrAYDVR0gBIGkMIGhMIGeBgtghkgBhvhFAQcXAjCBjjAoBggrBgEFBQcCARYcaHR0cHM6 Ly93d3cudmVyaXNpZ24uY29tL0NQUzBiBggrBgEFBQcCAjBWMBUWDlZlcmlTaWduLCBJbmMuMAMC AQEaPVZlcmlTaWduJ3MgQ1BTIGluY29ycC4gYnkgcmVmZXJlbmNlIGxpYWIuIGx0ZC4gKGMpOTcg VmVyaVNpZ24wCwYDVR0PBAQDAgWgMBEGCWCGSAGG+EIBAQQEAwIHgDBmBgNVHR8EXzBdMFugWaBX hlVodHRwOi8vb25zaXRlY3JsLnZlcmlzaWduLmNvbS9TUklJbnRlcm5hdGlvbmFsSW5mb3JtYXRp b25UZWNobm9sb2d5U2VydmljZXMvTGF0ZXN0Q1JMMA0GCSqGSIb3DQEBBQUAA4GBACf3MlYS4ssw EUnHTKP+v6xeJSPicFWwgYzS0iBOsuCpgUTTOSxPSPBwFNxY/plPMikXkK6rTGiIQUFXK59uqPV+ /1xXFpqvvt9/c0CqQDr8EfbbycaFyN8FaXQNV0gaqXDr/m4X2GZovm85T3osCKWzIijQzmr9xrQK 5yjpnTt3MIIFCjCCBHOgAwIBAgIQdRD9LNvKRXBSboyDbAKnbDANBgkqhkiG9w0BAQUFADCBwTEL MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzNDbGFzcyAyIFB1 YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIxOjA4BgNVBAsTMShjKSAx OTk4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmswHhcNMDIwOTIzMDAwMDAwWhcNMTIwOTIyMjM1OTU5WjCB2DEL MAkGA1UEBhMCVVMxGjAYBgNVBAoTEVNSSSBJbnRlcm5hdGlvbmFsMR8wHQYDVQQLExZWZXJpU2ln biBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVy aXNpZ24uY29tL3JwYSAoYykwMjEwMC4GA1UECxMnQ2xhc3MgMiBPblNpdGUgSW5kaXZpZHVhbCBT dWJzY3JpYmVyIENBMR0wGwYDVQQDExRTUkkgSW50ZXJuYXRpb25hbCBDQTCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAzvnUwmuZmBSSAFVb0qoC0hhUL1a6f+AIHw5UpxW5oRTjsDtUzsCa+6Yg GvKUlisrnI/tPZFrupvHVNQjRj05fhHiABFinwlnCA7J80x3gZlBMwHrgoKYribJ1GTVmc1R0FmA B4KYzBeZjJZiNpqLEsEb0ORdzJYb2/UZazjL/fkCAwEAAaOCAegwggHkMBIGA1UdEwEB/wQIMAYB Af8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vcnBhMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24u Y29tL3BjYTItZzIuY3JsMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEw H6QdMBsxGTAXBgNVBAMTEFByaXZhdGVMYWJlbDItODIwHQYDVR0OBBYEFC1OfgnwbUVBEaxx2j87 9iZKf2RkMIHoBgNVHSMEgeAwgd2hgcekgcQwgcExCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJp U2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBh dXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrghEAuS9g zIifoXpGCbhbcGyKrzANBgkqhkiG9w0BAQUFAAOBgQAowFJw4GZ/4dbI1ncxPAvPGrV/aIB5Z8mZ e9tmn/CH+OcKSVI02h/Q5qbUD+P2hWMW3hBaQeCUG/YMWDgUXXEQKSeZYVGLpGdxkSAzV8VOQLIG JX3/1Lo4oo067Z8qZ0NLf6IH2SzZDEcDuFHGuc5Z0OM3Cghvwo6OX1oO37MiszGCBHswggR3AgEB MIHtMIHYMQswCQYDVQQGEwJVUzEaMBgGA1UEChMRU1JJIEludGVybmF0aW9uYWwxHzAdBgNVBAsT FlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczov L3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTAyMTAwLgYDVQQLEydDbGFzcyAyIE9uU2l0ZSBJbmRp dmlkdWFsIFN1YnNjcmliZXIgQ0ExHTAbBgNVBAMTFFNSSSBJbnRlcm5hdGlvbmFsIENBAhAWe43C Bfvruq8T3QpCWMhtMAkGBSsOAwIaBQCgggJiMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ KoZIhvcNAQkFMQ8XDTExMDkwMjE2NDkzM1owIwYJKoZIhvcNAQkEMRYEFPdCR/KH1i+EkZiyJ2Gm jw8ssKYTMIH+BgkrBgEEAYI3EAQxgfAwge0wgdgxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFTUkkg SW50ZXJuYXRpb25hbDEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazE7MDkGA1UECxMy VGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEgKGMpMDIxMDAuBgNV BAsTJ0NsYXNzIDIgT25TaXRlIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQTEdMBsGA1UEAxMUU1JJ IEludGVybmF0aW9uYWwgQ0ECEBZ7jcIF++u6rxPdCkJYyG0wggEABgsqhkiG9w0BCRACCzGB8KCB 7TCB2DELMAkGA1UEBhMCVVMxGjAYBgNVBAoTEVNSSSBJbnRlcm5hdGlvbmFsMR8wHQYDVQQLExZW ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93 d3cudmVyaXNpZ24uY29tL3JwYSAoYykwMjEwMC4GA1UECxMnQ2xhc3MgMiBPblNpdGUgSW5kaXZp ZHVhbCBTdWJzY3JpYmVyIENBMR0wGwYDVQQDExRTUkkgSW50ZXJuYXRpb25hbCBDQQIQFnuNwgX7 67qvE90KQljIbTANBgkqhkiG9w0BAQEFAASCAQC/mCzbQTGKMNz1PJLO9AyOrD9XJ3CaiM3liXhN Ycxxu3GFySLiC8nvhK/o2FCedqwqphyz1TfGdNpngHqHSlZx0U7XzQKB7WfKLZDvLH4+spa9JYp/ zAVULs4kiI86NWQxfhZze+4IhECHUJtkJdi4kBEJtqB5+C4RQxWMNnIpl0SQAaMUzMzAujfs9nH8 ztvA2fGyS0BY5pWog7O7x45UzIy74UM9XCgDWeBE2tv6FNgmFa0rlVlAWddnU9pk+T8zjGKYKjrD mRHn06yru9UhmZ5N4q8w7asLlfWBrRXxir3LYtb+xm49hQIQFMaYF1xLiQav86KcTlQyeQFTP/du AAAAAAAA --Apple-Mail-244--479959135--