From 6c5d2ac88bf986170e3627f7919e4fae444af44f Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Fri, 28 Oct 2011 12:16:17 -0400
Subject: [PATCH 01/68] progress

---
 web/viewer.css | 15 +++++++++++++++
 web/viewer.js  |  6 +++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/web/viewer.css b/web/viewer.css
index 27ad0638a..52852d591 100644
--- a/web/viewer.css
+++ b/web/viewer.css
@@ -231,6 +231,21 @@ canvas {
   -webkit-box-shadow: 0px 2px 10px #ff0;
 }
 
+.textLayer {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  color: #000;
+}
+
+.textLayer > div {
+  color: transparent;
+  position: absolute;
+  line-height:1.3;
+}
+
 #viewer {
   margin: 44px 0px 0px;
   padding: 8px 0px;
diff --git a/web/viewer.js b/web/viewer.js
index 1ab2c555c..63215a6d8 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -475,6 +475,10 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     canvas.mozOpaque = true;
     div.appendChild(canvas);
 
+    var textDiv = document.createElement('div');
+    textDiv.className = 'textLayer';
+    div.appendChild(textDiv);
+
     var scale = this.scale;
     canvas.width = pageWidth * scale;
     canvas.height = pageHeight * scale;
@@ -487,7 +491,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     ctx.translate(-this.x * scale, -this.y * scale);
 
     stats.begin = Date.now();
-    this.content.startRendering(ctx, this.updateStats);
+    this.content.startRendering(ctx, this.updateStats, textDiv, scale);
 
     setupLinks(this.content, this.scale);
     div.setAttribute('data-loaded', true);

From e7d08e3a98cfbd978c1ddfb9e8af9396d311e603 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Fri, 28 Oct 2011 17:37:55 -0400
Subject: [PATCH 02/68] Selection working

---
 src/canvas.js  | 118 ++++++++++++++++++++++++++++++++++++++++++-------
 src/core.js    |   7 ++-
 web/viewer.css |   6 +++
 web/viewer.js  |   8 ++--
 4 files changed, 117 insertions(+), 22 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 70dd65e3d..d771fa15e 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -60,7 +60,7 @@ var CanvasGraphics = (function canvasGraphics() {
   // if we execute longer then `kExecutionTime`.
   var kExecutionTimeCheck = 500;
 
-  function constructor(canvasCtx, objs) {
+  function constructor(canvasCtx, objs, textLayer, textScale) {
     this.ctx = canvasCtx;
     this.current = new CanvasExtraState();
     this.stateStack = [];
@@ -69,6 +69,8 @@ var CanvasGraphics = (function canvasGraphics() {
     this.xobjs = null;
     this.ScratchCanvas = ScratchCanvas;
     this.objs = objs;
+    this.textLayer = textLayer;
+    this.textScale = textScale;
   }
 
   var LINE_CAP_STYLES = ['butt', 'round', 'square'];
@@ -95,6 +97,7 @@ var CanvasGraphics = (function canvasGraphics() {
           break;
       }
       this.ctx.scale(cw / mediaBox.width, ch / mediaBox.height);
+      this.textDivs = [];
     },
 
     executeIRQueue: function canvasGraphicsExecuteIRQueue(codeIR,
@@ -150,6 +153,17 @@ var CanvasGraphics = (function canvasGraphics() {
 
     endDrawing: function canvasGraphicsEndDrawing() {
       this.ctx.restore();
+
+      // Text selection-specific
+      var textLayer = this.textLayer;
+      var textDivs = this.textDivs;
+      for (var i = 0, length = textDivs.length; i < length; ++i) {
+        if (textDivs[i].dataset.textLength>1) { // avoid div by zero
+          textLayer.appendChild(textDivs[i]);
+          // Adjust div width to match canvas text width
+          textDivs[i].style.letterSpacing = ((textDivs[i].dataset.canvasWidth - textDivs[i].offsetWidth)/(textDivs[i].dataset.textLength-1)) + 'px';
+        }
+      }
     },
 
     // Graphics state
@@ -414,6 +428,12 @@ var CanvasGraphics = (function canvasGraphics() {
       this.moveText(0, this.current.leading);
     },
     showText: function canvasGraphicsShowText(text) {
+      function unicodeToChar(unicode) {
+        return (unicode >= 0x10000) ?
+          String.fromCharCode(0xD800 | ((unicode - 0x10000) >> 10),
+          0xDC00 | (unicode & 0x3FF)) : String.fromCharCode(unicode);
+      };
+
       var ctx = this.ctx;
       var current = this.current;
       var font = current.font;
@@ -423,6 +443,8 @@ var CanvasGraphics = (function canvasGraphics() {
       var wordSpacing = current.wordSpacing;
       var textHScale = current.textHScale;
       var glyphsLength = glyphs.length;
+      var text = { chars:'', width:0 };
+      
       if (font.coded) {
         ctx.save();
         ctx.transform.apply(ctx, current.textMatrix);
@@ -446,11 +468,12 @@ var CanvasGraphics = (function canvasGraphics() {
           this.restore();
 
           var transformed = Util.applyTransform([glyph.width, 0], fontMatrix);
-          var width = transformed[0] * fontSize + charSpacing;
-
-          ctx.translate(width, 0);
-          current.x += width;
+          var charWidth = transformed[0] * fontSize + charSpacing;
+          ctx.translate(charWidth, 0);
+          current.x += charWidth;
 
+          text.chars += unicodeToChar(glyph.unicode);
+          text.width += charWidth;
         }
         ctx.restore();
       } else {
@@ -459,7 +482,6 @@ var CanvasGraphics = (function canvasGraphics() {
         ctx.scale(1, -1);
         ctx.translate(current.x, -1 * current.y);
         ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
-
         ctx.scale(1 / textHScale, 1);
 
         var width = 0;
@@ -471,36 +493,100 @@ var CanvasGraphics = (function canvasGraphics() {
             continue;
           }
 
-          var unicode = glyph.unicode;
-          var char = (unicode >= 0x10000) ?
-            String.fromCharCode(0xD800 | ((unicode - 0x10000) >> 10),
-            0xDC00 | (unicode & 0x3FF)) : String.fromCharCode(unicode);
-
+          var char = unicodeToChar(glyph.unicode);
+          var charWidth = glyph.width * fontSize * 0.001 + charSpacing;
           ctx.fillText(char, width, 0);
-          width += glyph.width * fontSize * 0.001 + charSpacing;
+          width += charWidth;
+          
+          text.chars += char;
+          text.width += charWidth;
         }
         current.x += width;
-
         ctx.restore();
       }
+      return text;
     },
-
     showSpacedText: function canvasGraphicsShowSpacedText(arr) {
       var ctx = this.ctx;
       var current = this.current;
       var fontSize = current.fontSize;
       var textHScale = current.textHScale;
       var arrLength = arr.length;
+      var textLayer = this.textLayer;
+      var font = current.font;
+      var text = {str:'', length:0, canvasWidth:0, spaceWidth:0, geom:{}};
+
+      // Text selection-specific
+      text.spaceWidth = this.current.font.charsToGlyphs(' ')[0].width;
+      if (!text.spaceWidth>0) {
+        // Hack (space is sometimes not encoded)
+        text.spaceWidth = this.current.font.charsToGlyphs('i')[0].width;
+      }
+
+      // Compute text.geom
+      // TODO: refactor the series of transformations below, and share it with showText()
+      ctx.save();
+      ctx.transform.apply(ctx, current.textMatrix);
+      ctx.scale(1, -1);
+      ctx.translate(current.x, -1 * current.y);
+      ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
+      ctx.scale(1 / textHScale, 1);
+      var inv = ctx.mozCurrentTransform;
+      if (inv) {
+        var bl = Util.applyTransform([0, 0], inv);
+        var tr = Util.applyTransform([1, 1], inv);
+        text.geom.x = bl[0];
+        text.geom.y = bl[1];
+        text.geom.xFactor = tr[0] - bl[0];
+        text.geom.yFactor = tr[1] - bl[1];
+      }
+      ctx.restore();
+      
       for (var i = 0; i < arrLength; ++i) {
         var e = arr[i];
         if (isNum(e)) {
-          current.x -= e * 0.001 * fontSize * textHScale;
+          var spacingLength = -e * 0.001 * fontSize * textHScale;
+          current.x += spacingLength;
+
+          // Text selection-specific
+          // Emulate arbitrary spacing via HTML spaces
+          text.canvasWidth += spacingLength;
+          if (e<0 && text.spaceWidth>0) { // avoid div by zero
+            var numFakeSpaces = Math.round(-e / text.spaceWidth);
+            for (var j = 0; j < numFakeSpaces; ++j)
+              text.str += '&nbsp;';
+            text.length += numFakeSpaces>0 ? 1 : 0;
+          }
         } else if (isString(e)) {
-          this.showText(e);
+          var shownText = this.showText(e);
+
+          // Text selection-specific
+          if (shownText.chars === ' ') {
+            text.str += '&nbsp;';        
+          } else {
+            text.str += shownText.chars;
+          }
+          text.canvasWidth += shownText.width;
+          text.length += e.length;
         } else {
           malformed('TJ array element ' + e + ' is not string or num');
         }
       }
+      
+      if (textLayer) {
+        var div = document.createElement('div');
+        var fontHeight = text.geom.yFactor * fontSize;
+        div.style.fontSize = fontHeight + 'px';
+        // TODO: family should be '= font.loadedName', but some fonts don't 
+        // have spacing info (cf. fonts.js > Font > fields > htmx)
+        div.style.fontFamily = 'serif'; 
+        div.style.left = text.geom.x + 'px';
+        div.style.top = (text.geom.y - fontHeight) + 'px';
+        div.innerHTML = text.str;
+        div.dataset.canvasWidth = text.canvasWidth * text.geom.xFactor;
+        div.dataset.textLength = text.length;
+        this.textDivs.push(div);                
+      }      
     },
     nextLineShowText: function canvasGraphicsNextLineShowText(text) {
       this.nextLine();
diff --git a/src/core.js b/src/core.js
index 4b411cff5..7e7bb6ea8 100644
--- a/src/core.js
+++ b/src/core.js
@@ -157,7 +157,7 @@ var Page = (function pagePage() {
                                                 IRQueue, fonts) {
       var self = this;
       this.IRQueue = IRQueue;
-      var gfx = new CanvasGraphics(this.ctx, this.objs);
+      var gfx = new CanvasGraphics(this.ctx, this.objs, this.textLayer, this.textScale);
       var startTime = Date.now();
 
       var displayContinuation = function pageDisplayContinuation() {
@@ -243,6 +243,7 @@ var Page = (function pagePage() {
         startIdx = gfx.executeIRQueue(IRQueue, startIdx, next);
         if (startIdx == length) {
           self.stats.render = Date.now();
+          gfx.endDrawing();
           if (callback) callback();
         }
       }
@@ -305,9 +306,11 @@ var Page = (function pagePage() {
       }
       return links;
     },
-    startRendering: function(ctx, callback)  {
+    startRendering: function(ctx, callback, textLayer, textScale)  {
       this.ctx = ctx;
       this.callback = callback;
+      this.textLayer = textLayer;
+      this.textScale = textScale;
 
       this.startRenderingTime = Date.now();
       this.pdf.startRendering(this);
diff --git a/web/viewer.css b/web/viewer.css
index 52852d591..19895ac27 100644
--- a/web/viewer.css
+++ b/web/viewer.css
@@ -246,6 +246,12 @@ canvas {
   line-height:1.3;
 }
 
+::selection { background:rgba(0,0,255,0.3); }
+::-moz-selection { background:rgba(0,0,255,0.3); }
+/* TODO: file FF bug to support ::-moz-selection:window-inactive
+   so we can override the opaque grey background when the window is inactive;
+   see also http://css-tricks.com/9288-window-inactive-styling */
+
 #viewer {
   margin: 44px 0px 0px;
   padding: 8px 0px;
diff --git a/web/viewer.js b/web/viewer.js
index 63215a6d8..523b7dc56 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -475,9 +475,9 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     canvas.mozOpaque = true;
     div.appendChild(canvas);
 
-    var textDiv = document.createElement('div');
-    textDiv.className = 'textLayer';
-    div.appendChild(textDiv);
+    var textLayer = document.createElement('div');
+    textLayer.className = 'textLayer';
+    div.appendChild(textLayer);
 
     var scale = this.scale;
     canvas.width = pageWidth * scale;
@@ -491,7 +491,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     ctx.translate(-this.x * scale, -this.y * scale);
 
     stats.begin = Date.now();
-    this.content.startRendering(ctx, this.updateStats, textDiv, scale);
+    this.content.startRendering(ctx, this.updateStats, textLayer, scale);
 
     setupLinks(this.content, this.scale);
     div.setAttribute('data-loaded', true);

From 98f3bab65c58fb4d1080cf57c1410209c9626502 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Mon, 31 Oct 2011 16:49:18 -0400
Subject: [PATCH 03/68] Lazy rendering

---
 src/canvas.js | 122 ++++++++++++++++++++++++++++++--------------------
 src/core.js   |   7 ++-
 web/viewer.js |   2 +-
 3 files changed, 78 insertions(+), 53 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index d771fa15e..d5db79446 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -60,7 +60,7 @@ var CanvasGraphics = (function canvasGraphics() {
   // if we execute longer then `kExecutionTime`.
   var kExecutionTimeCheck = 500;
 
-  function constructor(canvasCtx, objs, textLayer, textScale) {
+  function constructor(canvasCtx, objs, textLayer) {
     this.ctx = canvasCtx;
     this.current = new CanvasExtraState();
     this.stateStack = [];
@@ -70,7 +70,6 @@ var CanvasGraphics = (function canvasGraphics() {
     this.ScratchCanvas = ScratchCanvas;
     this.objs = objs;
     this.textLayer = textLayer;
-    this.textScale = textScale;
   }
 
   var LINE_CAP_STYLES = ['butt', 'round', 'square'];
@@ -98,6 +97,10 @@ var CanvasGraphics = (function canvasGraphics() {
       }
       this.ctx.scale(cw / mediaBox.width, ch / mediaBox.height);
       this.textDivs = [];
+      this.textLayerQueue = [];
+      // Prevent textLayerQueue to be rendered while rendering a new page
+      if (this.textLayerTimer)
+        clearTimeout(this.textLayerTimer);
     },
 
     executeIRQueue: function canvasGraphicsExecuteIRQueue(codeIR,
@@ -152,17 +155,37 @@ var CanvasGraphics = (function canvasGraphics() {
     },
 
     endDrawing: function canvasGraphicsEndDrawing() {
+      var self = this;
       this.ctx.restore();
 
-      // Text selection-specific
-      var textLayer = this.textLayer;
-      var textDivs = this.textDivs;
-      for (var i = 0, length = textDivs.length; i < length; ++i) {
-        if (textDivs[i].dataset.textLength>1) { // avoid div by zero
-          textLayer.appendChild(textDivs[i]);
-          // Adjust div width to match canvas text width
-          textDivs[i].style.letterSpacing = ((textDivs[i].dataset.canvasWidth - textDivs[i].offsetWidth)/(textDivs[i].dataset.textLength-1)) + 'px';
+      var textLayer = self.textLayer;
+      if (textLayer) {
+        var renderTextLayer = function canvasRenderTextLayer() {          
+          var textDivs = self.textDivs;
+          for (var i = 0, length = textDivs.length; i < length; ++i) {
+            if (textDivs[i].dataset.textLength>1) { // avoid div by zero
+              textLayer.appendChild(textDivs[i]);
+              // Adjust div width (via letterSpacing) to match canvas text
+              // Due to the .offsetWidth calls, this is slow
+              textDivs[i].style.letterSpacing =
+                ((textDivs[i].dataset.canvasWidth
+                - textDivs[i].offsetWidth)/(textDivs[i].dataset.textLength-1))
+                + 'px';
+            }
+          }          
         }
+        var textLayerQueue = self.textLayerQueue;
+        textLayerQueue.push(renderTextLayer);
+        
+        // Lazy textLayer rendering (to prevent UI hangs)
+        // Only render queue if activity has stopped, where "no activity" ==
+        // "no beginDrawing() calls in the last N ms"
+        self.textLayerTimer = setTimeout(function renderTextLayerQueue(){
+          // Render most recent (==most relevant) layers first
+          for (var i=textLayerQueue.length-1; i>=0; i--) {
+            textLayerQueue.pop().call();
+          }
+        }, 500);
       }
     },
 
@@ -516,31 +539,32 @@ var CanvasGraphics = (function canvasGraphics() {
       var font = current.font;
       var text = {str:'', length:0, canvasWidth:0, spaceWidth:0, geom:{}};
 
-      // Text selection-specific
-      text.spaceWidth = this.current.font.charsToGlyphs(' ')[0].width;
-      if (!text.spaceWidth>0) {
-        // Hack (space is sometimes not encoded)
-        text.spaceWidth = this.current.font.charsToGlyphs('i')[0].width;
-      }
+      if (textLayer) {
+        text.spaceWidth = this.current.font.charsToGlyphs(' ')[0].width;
+        if (!text.spaceWidth>0) {
+          // Hack (space is sometimes not encoded)
+          text.spaceWidth = this.current.font.charsToGlyphs('i')[0].width;
+        }
 
-      // Compute text.geom
-      // TODO: refactor the series of transformations below, and share it with showText()
-      ctx.save();
-      ctx.transform.apply(ctx, current.textMatrix);
-      ctx.scale(1, -1);
-      ctx.translate(current.x, -1 * current.y);
-      ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
-      ctx.scale(1 / textHScale, 1);
-      var inv = ctx.mozCurrentTransform;
-      if (inv) {
-        var bl = Util.applyTransform([0, 0], inv);
-        var tr = Util.applyTransform([1, 1], inv);
-        text.geom.x = bl[0];
-        text.geom.y = bl[1];
-        text.geom.xFactor = tr[0] - bl[0];
-        text.geom.yFactor = tr[1] - bl[1];
+        // Compute text.geom
+        // TODO: refactor the series of transformations below, and share it with showText()
+        ctx.save();
+        ctx.transform.apply(ctx, current.textMatrix);
+        ctx.scale(1, -1);
+        ctx.translate(current.x, -1 * current.y);
+        ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
+        ctx.scale(1 / textHScale, 1);
+        var inv = ctx.mozCurrentTransform;
+        if (inv) {
+          var bl = Util.applyTransform([0, 0], inv);
+          var tr = Util.applyTransform([1, 1], inv);
+          text.geom.x = bl[0];
+          text.geom.y = bl[1];
+          text.geom.xFactor = tr[0] - bl[0];
+          text.geom.yFactor = tr[1] - bl[1];
+        }
+        ctx.restore();
       }
-      ctx.restore();
       
       for (var i = 0; i < arrLength; ++i) {
         var e = arr[i];
@@ -548,26 +572,28 @@ var CanvasGraphics = (function canvasGraphics() {
           var spacingLength = -e * 0.001 * fontSize * textHScale;
           current.x += spacingLength;
 
-          // Text selection-specific
-          // Emulate arbitrary spacing via HTML spaces
-          text.canvasWidth += spacingLength;
-          if (e<0 && text.spaceWidth>0) { // avoid div by zero
-            var numFakeSpaces = Math.round(-e / text.spaceWidth);
-            for (var j = 0; j < numFakeSpaces; ++j)
-              text.str += '&nbsp;';
-            text.length += numFakeSpaces>0 ? 1 : 0;
+          if (textLayer) {
+            // Emulate precise spacing via HTML spaces
+            text.canvasWidth += spacingLength;
+            if (e<0 && text.spaceWidth>0) { // avoid div by zero
+              var numFakeSpaces = Math.round(-e / text.spaceWidth);
+              for (var j = 0; j < numFakeSpaces; ++j)
+                text.str += '&nbsp;';
+              text.length += numFakeSpaces>0 ? 1 : 0;
+            }
           }
         } else if (isString(e)) {
           var shownText = this.showText(e);
 
-          // Text selection-specific
-          if (shownText.chars === ' ') {
-            text.str += '&nbsp;';        
-          } else {
-            text.str += shownText.chars;
+          if (textLayer) {
+            if (shownText.chars === ' ') {
+              text.str += '&nbsp;';        
+            } else {
+              text.str += shownText.chars;
+            }
+            text.canvasWidth += shownText.width;
+            text.length += e.length;
           }
-          text.canvasWidth += shownText.width;
-          text.length += e.length;
         } else {
           malformed('TJ array element ' + e + ' is not string or num');
         }
diff --git a/src/core.js b/src/core.js
index 7e7bb6ea8..4313959a8 100644
--- a/src/core.js
+++ b/src/core.js
@@ -7,7 +7,7 @@ var globalScope = (typeof window === 'undefined') ? this : window;
 
 var ERRORS = 0, WARNINGS = 1, TODOS = 5;
 var verbosity = WARNINGS;
-var useWorker = false;
+var useWorker = true;
 
 // The global PDFJS object exposes the API
 // In production, it will be declared outside a global wrapper
@@ -157,7 +157,7 @@ var Page = (function pagePage() {
                                                 IRQueue, fonts) {
       var self = this;
       this.IRQueue = IRQueue;
-      var gfx = new CanvasGraphics(this.ctx, this.objs, this.textLayer, this.textScale);
+      var gfx = new CanvasGraphics(this.ctx, this.objs, this.textLayer);
       var startTime = Date.now();
 
       var displayContinuation = function pageDisplayContinuation() {
@@ -306,11 +306,10 @@ var Page = (function pagePage() {
       }
       return links;
     },
-    startRendering: function(ctx, callback, textLayer, textScale)  {
+    startRendering: function(ctx, callback, textLayer)  {
       this.ctx = ctx;
       this.callback = callback;
       this.textLayer = textLayer;
-      this.textScale = textScale;
 
       this.startRenderingTime = Date.now();
       this.pdf.startRendering(this);
diff --git a/web/viewer.js b/web/viewer.js
index 523b7dc56..d8a59e651 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -491,7 +491,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     ctx.translate(-this.x * scale, -this.y * scale);
 
     stats.begin = Date.now();
-    this.content.startRendering(ctx, this.updateStats, textLayer, scale);
+    this.content.startRendering(ctx, this.updateStats, textLayer);
 
     setupLinks(this.content, this.scale);
     div.setAttribute('data-loaded', true);

From c74d7b8777d9b963bbb7b56dac957db5b51647db Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Mon, 31 Oct 2011 16:49:49 -0400
Subject: [PATCH 04/68] Workers off!

---
 src/core.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core.js b/src/core.js
index 4313959a8..ab2509016 100644
--- a/src/core.js
+++ b/src/core.js
@@ -7,7 +7,7 @@ var globalScope = (typeof window === 'undefined') ? this : window;
 
 var ERRORS = 0, WARNINGS = 1, TODOS = 5;
 var verbosity = WARNINGS;
-var useWorker = true;
+var useWorker = false;
 
 // The global PDFJS object exposes the API
 // In production, it will be declared outside a global wrapper

From 9ddc40c3d7b82f3059e3864c887f05c649b575ca Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Wed, 2 Nov 2011 12:22:39 -0400
Subject: [PATCH 05/68] Nit

---
 src/canvas.js | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 1ed1ab76d..4edcb3096 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -106,7 +106,7 @@ var CanvasGraphics = (function canvasGraphics() {
       this.ctx.scale(cw / mediaBox.width, ch / mediaBox.height);
       this.textDivs = [];
       this.textLayerQueue = [];
-      // Prevent textLayerQueue to be rendered while rendering a new page
+      // Prevent textLayerQueue from being rendered while rendering a new page
       if (this.textLayerTimer)
         clearTimeout(this.textLayerTimer);
     },
@@ -166,7 +166,7 @@ var CanvasGraphics = (function canvasGraphics() {
       var self = this;
       this.ctx.restore();
 
-      var textLayer = self.textLayer;
+      var textLayer = this.textLayer;
       if (textLayer) {
         var renderTextLayer = function canvasRenderTextLayer() {          
           var textDivs = self.textDivs;
@@ -557,10 +557,10 @@ var CanvasGraphics = (function canvasGraphics() {
         ctx.translate(current.x, -1 * current.y);
         ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
         ctx.scale(1 / textHScale, 1);
-        var inv = ctx.mozCurrentTransform;
-        if (inv) {
-          var bl = Util.applyTransform([0, 0], inv);
-          var tr = Util.applyTransform([1, 1], inv);
+        var ctxMatrix = ctx.mozCurrentTransform;
+        if (ctxMatrix) {
+          var bl = Util.applyTransform([0, 0], ctxMatrix);
+          var tr = Util.applyTransform([1, 1], ctxMatrix);
           text.geom.x = bl[0];
           text.geom.y = bl[1];
           text.geom.xFactor = tr[0] - bl[0];
@@ -601,7 +601,7 @@ var CanvasGraphics = (function canvasGraphics() {
           malformed('TJ array element ' + e + ' is not string or num');
         }
       }
-      
+
       if (textLayer) {
         var div = document.createElement('div');
         var fontHeight = text.geom.yFactor * fontSize;

From 9bb2b881b0bd0984b28cab66ef4fcdc084c633c3 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 8 Nov 2011 08:48:10 -0800
Subject: [PATCH 06/68] Adds cmyk jpg support. Treats the cmyk jpg as a regular
 stream.

---
 Makefile                       |  1 +
 examples/helloworld/index.html |  1 +
 src/core.js                    |  2 +-
 src/evaluator.js               |  2 +-
 src/image.js                   | 12 +++++-----
 src/stream.js                  | 44 +++++++++++++++++++++++++++-------
 test/test_slave.html           |  1 +
 web/viewer.html                |  2 +-
 8 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/Makefile b/Makefile
index 3e385b175..2b566cbbf 100644
--- a/Makefile
+++ b/Makefile
@@ -33,6 +33,7 @@ PDF_JS_FILES = \
   pattern.js \
   stream.js \
   worker.js \
+  ../external/jpgjs/jpg.js \
 	$(NULL)
 
 # make server
diff --git a/examples/helloworld/index.html b/examples/helloworld/index.html
index a48e3705b..a2485d918 100644
--- a/examples/helloworld/index.html
+++ b/examples/helloworld/index.html
@@ -22,6 +22,7 @@
   <script type="text/javascript" src="../../src/pattern.js"></script>
   <script type="text/javascript" src="../../src/stream.js"></script>
   <script type="text/javascript" src="../../src/worker.js"></script>
+  <script type="text/javascript" src="../../external/jpgjs/jpg.js"></script>
 
   <script type="text/javascript">
     // Specify the main script used to create a new PDF.JS web worker.
diff --git a/src/core.js b/src/core.js
index 5e97763ab..6ff34dfbe 100644
--- a/src/core.js
+++ b/src/core.js
@@ -546,7 +546,7 @@ var PDFDoc = (function pdfDoc() {
         switch (type) {
           case 'JpegStream':
             var IR = data[2];
-            new JpegImage(id, IR, this.objs);
+            new JpegImageLoader(id, IR, this.objs);
             break;
           case 'Font':
             var name = data[2];
diff --git a/src/evaluator.js b/src/evaluator.js
index 064288c6f..3b33519d8 100644
--- a/src/evaluator.js
+++ b/src/evaluator.js
@@ -179,7 +179,7 @@ var PartialEvaluator = (function partialEvaluator() {
         var w = dict.get('Width', 'W');
         var h = dict.get('Height', 'H');
 
-        if (image instanceof JpegStream) {
+        if (image instanceof JpegStream && image.isNative) {
           var objId = 'img_' + uniquePrefix + (++self.objIdCounter);
           handler.send('obj', [objId, 'JpegStream', image.getIR()]);
 
diff --git a/src/image.js b/src/image.js
index 71aa0f113..17ef7b06d 100644
--- a/src/image.js
+++ b/src/image.js
@@ -229,12 +229,12 @@ var PDFImage = (function pdfImage() {
   return constructor;
 })();
 
-var JpegImage = (function jpegImage() {
-  function JpegImage(objId, imageData, objs) {
+var JpegImageLoader = (function jpegImage() {
+  function JpegImageLoader(objId, imageData, objs) {
     var src = 'data:image/jpeg;base64,' + window.btoa(imageData);
 
     var img = new Image();
-    img.onload = (function jpegImageOnload() {
+    img.onload = (function jpegImageLoaderOnload() {
       this.loaded = true;
 
       objs.resolve(objId, this);
@@ -246,12 +246,12 @@ var JpegImage = (function jpegImage() {
     this.domImage = img;
   }
 
-  JpegImage.prototype = {
-    getImage: function jpegImageGetImage() {
+  JpegImageLoader.prototype = {
+    getImage: function jpegImageLoaderGetImage() {
       return this.domImage;
     }
   };
 
-  return JpegImage;
+  return JpegImageLoader;
 })();
 
diff --git a/src/stream.js b/src/stream.js
index 73b096f1e..de07e1387 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -793,20 +793,46 @@ var JpegStream = (function jpegStream() {
     // TODO: per poppler, some images may have 'junk' before that
     // need to be removed
     this.dict = dict;
+    this.isNative = true;
 
-    if (isAdobeImage(bytes))
-      bytes = fixAdobeImage(bytes);
+    if (isAdobeImage(bytes)) {
+      // when bug 674619 land, let's check if browser can do
+      // normal cmyk and then we won't have to the following
+      var cs = dict.get('ColorSpace');
+      if (isName(cs) && cs.name === 'DeviceCMYK') {
+        this.isNative = false;
+        this.bytes = bytes;
+      } else {
+        bytes = fixAdobeImage(bytes);
+        this.src = bytesToString(bytes);
+      }
+    } else {
+      this.src = bytesToString(bytes);
+    }
 
-    this.src = bytesToString(bytes);
+    DecodeStream.call(this);
   }
 
-  constructor.prototype = {
-    getIR: function jpegStreamGetIR() {
-      return this.src;
-    },
-    getChar: function jpegStreamGetChar() {
+  constructor.prototype = Object.create(DecodeStream.prototype);
+
+  constructor.prototype.ensureBuffer = function jpegStreamEnsureBuffer(req) {
+    if (this.bufferLength)
+      return;
+    var jpegImage = new JpegImage();
+    jpegImage.parse(this.bytes);
+    var width = jpegImage.width;
+    var height = jpegImage.height;
+    var dataLength = width * height * 4;
+    var data = new Uint8Array(dataLength);
+    jpegImage.getData(data, width, height);
+    this.buffer = data;
+    this.bufferLength = data.length;
+  };
+  constructor.prototype.getIR = function jpegStreamGetIR() {
+    return this.src;
+  };
+  constructor.prototype.getChar = function jpegStreamGetChar() {
       error('internal error: getChar is not valid on JpegStream');
-    }
   };
 
   return constructor;
diff --git a/test/test_slave.html b/test/test_slave.html
index 91852d5a5..166251af9 100644
--- a/test/test_slave.html
+++ b/test/test_slave.html
@@ -21,6 +21,7 @@
     <script type="text/javascript" src="/src/pattern.js"></script>
     <script type="text/javascript" src="/src/stream.js"></script>
     <script type="text/javascript" src="/src/worker.js"></script>
+    <script type="text/javascript" src="/external/jpgjs/jpg.js"></script>
     <script type="text/javascript" src="driver.js"></script>
 
     <script type="text/javascript">
diff --git a/web/viewer.html b/web/viewer.html
index a72503eee..e441a9847 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -25,7 +25,7 @@
         <script type="text/javascript" src="../src/pattern.js"></script>  <!-- PDFJSSCRIPT_REMOVE -->
         <script type="text/javascript" src="../src/stream.js"></script>  <!-- PDFJSSCRIPT_REMOVE -->
         <script type="text/javascript" src="../src/worker.js"></script>  <!-- PDFJSSCRIPT_REMOVE -->
-
+        <script type="text/javascript" src="../external/jpgjs/jpg.js"></script>  <!-- PDFJSSCRIPT_REMOVE -->
         <script type="text/javascript">PDFJS.workerSrc = '../src/worker_loader.js';</script> <!-- PDFJSSCRIPT_REMOVE -->
 
         <script type="text/javascript" src="viewer.js"></script>

From 1869888838666b73c6956b046b60bfac7c9968ec Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 8 Nov 2011 08:50:01 -0800
Subject: [PATCH 07/68] Comment on the new flag.

---
 src/stream.js | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/stream.js b/src/stream.js
index de07e1387..d8a681a88 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -793,6 +793,8 @@ var JpegStream = (function jpegStream() {
     // TODO: per poppler, some images may have 'junk' before that
     // need to be removed
     this.dict = dict;
+    
+    // Flag indicating wether the image can be natively loaded.
     this.isNative = true;
 
     if (isAdobeImage(bytes)) {

From 9ebec03ddc11e8de6e36c059b1bd71e34f24688c Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 8 Nov 2011 15:27:03 -0500
Subject: [PATCH 08/68] Implemented selection for showText()

---
 src/canvas.js | 153 ++++++++++++++++++++++++++++++--------------------
 src/fonts.js  |   8 ++-
 2 files changed, 98 insertions(+), 63 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 470bbef94..05f74f24e 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -453,7 +453,58 @@ var CanvasGraphics = (function canvasGraphics() {
     nextLine: function canvasGraphicsNextLine() {
       this.moveText(0, this.current.leading);
     },
-    showText: function canvasGraphicsShowText(text) {
+    applyTextTransforms: function canvasApplyTransforms() {
+      var ctx = this.ctx;
+      var current = this.current;
+      var textHScale = current.textHScale;
+      var font = current.font;
+
+      ctx.transform.apply(ctx, current.textMatrix);
+      ctx.scale(1, -1);
+      ctx.translate(current.x, -1 * current.y);
+      ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
+      ctx.scale(1 / textHScale, 1);
+    },
+    getTextGeometry: function canvasGetTextGeometry() {
+      var geom = {};
+      var ctx = this.ctx;
+      var font = this.current.font;
+      var ctxMatrix = ctx.mozCurrentTransform;
+      if (ctxMatrix) {
+        var bl = Util.applyTransform([0, 0], ctxMatrix);
+        var tr = Util.applyTransform([1, 1], ctxMatrix);
+        geom.x = bl[0];
+        geom.y = bl[1];
+        geom.hScale = tr[0] - bl[0];
+        geom.vScale = tr[1] - bl[1];
+      }
+      var spaceGlyph = font.charsToGlyphs(' ', true);
+      // Hack (sometimes space is not encoded)
+      if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
+        spaceGlyph = font.charsToGlyphs('i', true);
+      // Fallback
+      if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
+        spaceGlyph = [ {width:0} ];
+      geom.spaceWidth = spaceGlyph[0].width;
+      return geom;
+    },
+    pushTextDivs: function canvasGraphicsPushTextDivs(text) {
+      var div = document.createElement('div');
+      var fontSize = this.current.fontSize;
+      var fontHeight = text.geom.vScale * fontSize;
+
+      div.style.fontSize = fontHeight + 'px';
+      // TODO: family should be '= font.loadedName', but some fonts don't 
+      // have spacing info (cf. fonts.js > Font > fields > htmx)
+      div.style.fontFamily = 'serif'; 
+      div.style.left = text.geom.x + 'px';
+      div.style.top = (text.geom.y - fontHeight) + 'px';
+      div.innerHTML = text.str;
+      div.dataset.canvasWidth = text.canvasWidth * text.geom.hScale;
+      div.dataset.textLength = text.length;
+      this.textDivs.push(div);
+    },
+    showText: function canvasGraphicsShowText(str, skipTextSelection) {
       function unicodeToChar(unicode) {
         return (unicode >= 0x10000) ?
           String.fromCharCode(0xD800 | ((unicode - 0x10000) >> 10),
@@ -463,14 +514,24 @@ var CanvasGraphics = (function canvasGraphics() {
       var ctx = this.ctx;
       var current = this.current;
       var font = current.font;
-      var glyphs = font.charsToGlyphs(text);
+      var glyphs = font.charsToGlyphs(str);
       var fontSize = current.fontSize;
       var charSpacing = current.charSpacing;
       var wordSpacing = current.wordSpacing;
       var textHScale = current.textHScale;
       var glyphsLength = glyphs.length;
-      var text = { chars:'', width:0 };
+      var textLayer = this.textLayer;
+      var text = { str:'', length:0, canvasWidth:0, geom:{}};
+      var textSelection = textLayer && !skipTextSelection ? true : false;
+
+      if (textSelection) {
+        ctx.save();
+        this.applyTextTransforms();
+        text.geom = this.getTextGeometry();
+        ctx.restore();
+      }
       
+      // Type3 fonts - each glyph is a "mini-PDF"
       if (font.coded) {
         ctx.save();
         ctx.transform.apply(ctx, current.textMatrix);
@@ -498,17 +559,14 @@ var CanvasGraphics = (function canvasGraphics() {
           ctx.translate(charWidth, 0);
           current.x += charWidth;
 
-          text.chars += unicodeToChar(glyph.unicode);
-          text.width += charWidth;
+          text.str += unicodeToChar(glyph.unicode);
+          text.canvasWidth += charWidth;
+          text.length++;
         }
         ctx.restore();
       } else {
         ctx.save();
-        ctx.transform.apply(ctx, current.textMatrix);
-        ctx.scale(1, -1);
-        ctx.translate(current.x, -1 * current.y);
-        ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
-        ctx.scale(1 / textHScale, 1);
+        this.applyTextTransforms();
 
         var width = 0;
         for (var i = 0; i < glyphsLength; ++i) {
@@ -524,12 +582,18 @@ var CanvasGraphics = (function canvasGraphics() {
           ctx.fillText(char, width, 0);
           width += charWidth;
           
-          text.chars += char;
-          text.width += charWidth;
+          text.str += char;
+          text.canvasWidth += charWidth;
+          text.length++;
         }
+
         current.x += width;
         ctx.restore();
       }
+
+      if (textSelection) 
+        this.pushTextDivs(text);
+
       return text;
     },
     showSpacedText: function canvasGraphicsShowSpacedText(arr) {
@@ -540,32 +604,13 @@ var CanvasGraphics = (function canvasGraphics() {
       var arrLength = arr.length;
       var textLayer = this.textLayer;
       var font = current.font;
-      var text = {str:'', length:0, canvasWidth:0, spaceWidth:0, geom:{}};
+      var text = {str:'', length:0, canvasWidth:0, geom:{}};
+      var textSelection = textLayer ? true : false;
 
-      if (textLayer) {
-        text.spaceWidth = this.current.font.charsToGlyphs(' ')[0].width;
-        if (!text.spaceWidth>0) {
-          // Hack (space is sometimes not encoded)
-          text.spaceWidth = this.current.font.charsToGlyphs('i')[0].width;
-        }
-
-        // Compute text.geom
-        // TODO: refactor the series of transformations below, and share it with showText()
+      if (textSelection) {
         ctx.save();
-        ctx.transform.apply(ctx, current.textMatrix);
-        ctx.scale(1, -1);
-        ctx.translate(current.x, -1 * current.y);
-        ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
-        ctx.scale(1 / textHScale, 1);
-        var ctxMatrix = ctx.mozCurrentTransform;
-        if (ctxMatrix) {
-          var bl = Util.applyTransform([0, 0], ctxMatrix);
-          var tr = Util.applyTransform([1, 1], ctxMatrix);
-          text.geom.x = bl[0];
-          text.geom.y = bl[1];
-          text.geom.xFactor = tr[0] - bl[0];
-          text.geom.yFactor = tr[1] - bl[1];
-        }
+        this.applyTextTransforms();
+        text.geom = this.getTextGeometry();
         ctx.restore();
       }
       
@@ -575,47 +620,35 @@ var CanvasGraphics = (function canvasGraphics() {
           var spacingLength = -e * 0.001 * fontSize * textHScale;
           current.x += spacingLength;
 
-          if (textLayer) {
+          if (textSelection) {
             // Emulate precise spacing via HTML spaces
             text.canvasWidth += spacingLength;
-            if (e<0 && text.spaceWidth>0) { // avoid div by zero
-              var numFakeSpaces = Math.round(-e / text.spaceWidth);
+            if (e<0 && text.geom.spaceWidth>0) { // avoid div by zero
+              var numFakeSpaces = Math.round(-e / text.geom.spaceWidth);
               for (var j = 0; j < numFakeSpaces; ++j)
                 text.str += '&nbsp;';
               text.length += numFakeSpaces>0 ? 1 : 0;
             }
           }
         } else if (isString(e)) {
-          var shownText = this.showText(e);
+          var shownText = this.showText(e, true);
 
-          if (textLayer) {
-            if (shownText.chars === ' ') {
-              text.str += '&nbsp;';        
+          if (textSelection) {
+            if (shownText.str === ' ') {
+              text.str += '&nbsp;';
             } else {
-              text.str += shownText.chars;
+              text.str += shownText.str;
             }
-            text.canvasWidth += shownText.width;
+            text.canvasWidth += shownText.canvasWidth;
             text.length += e.length;
           }
         } else {
           malformed('TJ array element ' + e + ' is not string or num');
         }
       }
-
-      if (textLayer) {
-        var div = document.createElement('div');
-        var fontHeight = text.geom.yFactor * fontSize;
-        div.style.fontSize = fontHeight + 'px';
-        // TODO: family should be '= font.loadedName', but some fonts don't 
-        // have spacing info (cf. fonts.js > Font > fields > htmx)
-        div.style.fontFamily = 'serif'; 
-        div.style.left = text.geom.x + 'px';
-        div.style.top = (text.geom.y - fontHeight) + 'px';
-        div.innerHTML = text.str;
-        div.dataset.canvasWidth = text.canvasWidth * text.geom.xFactor;
-        div.dataset.textLength = text.length;
-        this.textDivs.push(div);                
-      }      
+      
+      if (textSelection) 
+        this.pushTextDivs(text);
     },
     nextLineShowText: function canvasGraphicsNextLineShowText(text) {
       this.nextLine();
diff --git a/src/fonts.js b/src/fonts.js
index ca02bb020..9462ac88e 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -1797,7 +1797,7 @@ var Font = (function Font() {
       return rule;
     },
 
-    charsToGlyphs: function fonts_chars2Glyphs(chars) {
+    charsToGlyphs: function fonts_chars2Glyphs(chars, suppressWarnings) {
       var charsCache = this.charsCache;
       var glyphs;
 
@@ -1830,7 +1830,8 @@ var Font = (function Font() {
           var charcode = int16([chars.charCodeAt(i++), chars.charCodeAt(i)]);
           var glyph = encoding[charcode];
           if ('undefined' == typeof(glyph)) {
-            warn('Unencoded charcode ' + charcode);
+            if (!suppressWarnings)
+              warn('Unencoded charcode ' + charcode);
             glyph = {
               unicode: charcode,
               width: this.defaultWidth
@@ -1847,7 +1848,8 @@ var Font = (function Font() {
           var charcode = chars.charCodeAt(i);
           var glyph = encoding[charcode];
           if ('undefined' == typeof(glyph)) {
-            warn('Unencoded charcode ' + charcode);
+            if (!suppressWarnings)
+              warn('Unencoded charcode ' + charcode);
             glyph = {
               unicode: charcode,
               width: this.defaultWidth

From 686f275830ba749d02f04e41c1954d0d0427bff5 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 8 Nov 2011 16:05:11 -0500
Subject: [PATCH 09/68] Fix font and spaces

---
 src/canvas.js | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 05f74f24e..83d9c34d1 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -494,9 +494,7 @@ var CanvasGraphics = (function canvasGraphics() {
       var fontHeight = text.geom.vScale * fontSize;
 
       div.style.fontSize = fontHeight + 'px';
-      // TODO: family should be '= font.loadedName', but some fonts don't 
-      // have spacing info (cf. fonts.js > Font > fields > htmx)
-      div.style.fontFamily = 'serif'; 
+      div.style.fontFamily = this.current.font.loadedName || 'serif';
       div.style.left = text.geom.x + 'px';
       div.style.top = (text.geom.y - fontHeight) + 'px';
       div.innerHTML = text.str;
@@ -560,8 +558,8 @@ var CanvasGraphics = (function canvasGraphics() {
           current.x += charWidth;
 
           text.str += unicodeToChar(glyph.unicode);
-          text.canvasWidth += charWidth;
           text.length++;
+          text.canvasWidth += charWidth;
         }
         ctx.restore();
       } else {
@@ -582,9 +580,9 @@ var CanvasGraphics = (function canvasGraphics() {
           ctx.fillText(char, width, 0);
           width += charWidth;
           
-          text.str += char;
-          text.canvasWidth += charWidth;
+          text.str += char === ' ' ? '&nbsp;' : char;
           text.length++;
+          text.canvasWidth += charWidth;
         }
 
         current.x += width;

From 6fec709011c6570b72ced48e003692fa989ef2dd Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 8 Nov 2011 16:14:23 -0500
Subject: [PATCH 10/68] Adding 1040.pdf

---
 test/pdfs/.gitignore    |   1 +
 test/pdfs/1040.pdf      | Bin 0 -> 299340 bytes
 test/test_manifest.json |   7 +++++++
 3 files changed, 8 insertions(+)
 create mode 100644 test/pdfs/1040.pdf

diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index 443cb155a..dce433acf 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -14,4 +14,5 @@
 !sizes.pdf
 !close-path-bug.pdf
 !alphatrans.pdf
+!1040.pdf
 
diff --git a/test/pdfs/1040.pdf b/test/pdfs/1040.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..12b9a66429417553b31b1bc57ea254e44cfc3a9d
GIT binary patch
literal 299340
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
JPX{#a{{ekhub=<`

literal 0
HcmV?d00001

diff --git a/test/test_manifest.json b/test/test_manifest.json
index 8085506a2..0d6e61b7a 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -268,5 +268,12 @@
        "link": false,
        "rounds": 1,
        "type": "eq"
+    },
+    {  "id": "1040",
+       "file": "pdfs/1040.pdf",
+       "md5": "7323b50c6d28d959b8b4b92c469b2469",
+       "link": false,
+       "rounds": 1,
+       "type": "eq"
     }
 ]

From 8d52a1e92a450f5b43049b3f1527bad8aaf79bfe Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 8 Nov 2011 13:53:56 -0800
Subject: [PATCH 11/68] Add another way to detect cmyk images.

---
 src/parser.js        |  2 +-
 src/stream.js        | 28 ++++++++++++++++++++++++----
 src/worker_loader.js |  3 ++-
 3 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/parser.js b/src/parser.js
index a740615ed..93a3f21b5 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -236,7 +236,7 @@ var Parser = (function parserParser() {
         return new LZWStream(stream, earlyChange);
       } else if (name == 'DCTDecode' || name == 'DCT') {
         var bytes = stream.getBytes(length);
-        return new JpegStream(bytes, stream.dict);
+        return new JpegStream(bytes, stream.dict, this.xref);
       } else if (name == 'ASCII85Decode' || name == 'A85') {
         return new Ascii85Stream(stream);
       } else if (name == 'ASCIIHexDecode' || name == 'AHx') {
diff --git a/src/stream.js b/src/stream.js
index d8a681a88..7634e50bb 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -776,6 +776,25 @@ var JpegStream = (function jpegStream() {
     return false;
   }
 
+  function isCmykAdobe(bytes) {
+    var maxBytesScanned = Math.max(bytes.length - 16, 1024);
+    // Looking for APP14, 'Adobe'
+    for (var i = 0; i < maxBytesScanned; ++i) {
+      if (bytes[i] == 0xFF && bytes[i + 1] == 0xEE &&
+          bytes[i + 2] == 0x00 && bytes[i + 3] == 0x0E &&
+          bytes[i + 4] == 0x41 && bytes[i + 5] == 0x64 &&
+          bytes[i + 6] == 0x6F && bytes[i + 7] == 0x62 &&
+          bytes[i + 8] == 0x65 && bytes[i + 9] == 0 &&
+          bytes[i + 15] == 2 ) {
+            return true;
+          }
+      // scanning until frame tag
+      if (bytes[i] == 0xFF && bytes[i + 1] == 0xC0)
+        break;
+    }
+    return false;
+  }
+
   function fixAdobeImage(bytes) {
     // Inserting 'EMBED' marker after JPEG signature
     var embedMarker = new Uint8Array([0xFF, 0xEC, 0, 8, 0x45, 0x4D, 0x42, 0x45,
@@ -789,19 +808,20 @@ var JpegStream = (function jpegStream() {
     return newBytes;
   }
 
-  function constructor(bytes, dict) {
+  function constructor(bytes, dict, xref) {
     // TODO: per poppler, some images may have 'junk' before that
     // need to be removed
     this.dict = dict;
-    
+
     // Flag indicating wether the image can be natively loaded.
     this.isNative = true;
 
     if (isAdobeImage(bytes)) {
       // when bug 674619 land, let's check if browser can do
       // normal cmyk and then we won't have to the following
-      var cs = dict.get('ColorSpace');
+      var cs = xref.fetchIfRef(dict.get('ColorSpace'));
       if (isName(cs) && cs.name === 'DeviceCMYK') {
+      //if (isCmykAdobe(bytes)) {
         this.isNative = false;
         this.bytes = bytes;
       } else {
@@ -826,7 +846,7 @@ var JpegStream = (function jpegStream() {
     var height = jpegImage.height;
     var dataLength = width * height * 4;
     var data = new Uint8Array(dataLength);
-    jpegImage.getData(data, width, height);
+    jpegImage.getData(data, width, height, true);
     this.buffer = data;
     this.bufferLength = data.length;
   };
diff --git a/src/worker_loader.js b/src/worker_loader.js
index cb0a91071..7141fa3e3 100644
--- a/src/worker_loader.js
+++ b/src/worker_loader.js
@@ -40,7 +40,8 @@ function onMessageLoader(evt) {
     'parser.js',
     'pattern.js',
     'stream.js',
-    'worker.js'
+    'worker.js',
+    '../external/jpgjs/jpg.js'
   ];
 
   // Load all the files.

From 493805d9521ad064d099bbbb9ba5128611674c71 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 8 Nov 2011 14:00:39 -0800
Subject: [PATCH 12/68] Remove the alternative way to do CMYK check. Checking
 the colorspace seems sufficient.

---
 src/stream.js | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/src/stream.js b/src/stream.js
index 7634e50bb..ce69e96aa 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -776,25 +776,6 @@ var JpegStream = (function jpegStream() {
     return false;
   }
 
-  function isCmykAdobe(bytes) {
-    var maxBytesScanned = Math.max(bytes.length - 16, 1024);
-    // Looking for APP14, 'Adobe'
-    for (var i = 0; i < maxBytesScanned; ++i) {
-      if (bytes[i] == 0xFF && bytes[i + 1] == 0xEE &&
-          bytes[i + 2] == 0x00 && bytes[i + 3] == 0x0E &&
-          bytes[i + 4] == 0x41 && bytes[i + 5] == 0x64 &&
-          bytes[i + 6] == 0x6F && bytes[i + 7] == 0x62 &&
-          bytes[i + 8] == 0x65 && bytes[i + 9] == 0 &&
-          bytes[i + 15] == 2 ) {
-            return true;
-          }
-      // scanning until frame tag
-      if (bytes[i] == 0xFF && bytes[i + 1] == 0xC0)
-        break;
-    }
-    return false;
-  }
-
   function fixAdobeImage(bytes) {
     // Inserting 'EMBED' marker after JPEG signature
     var embedMarker = new Uint8Array([0xFF, 0xEC, 0, 8, 0x45, 0x4D, 0x42, 0x45,
@@ -821,7 +802,6 @@ var JpegStream = (function jpegStream() {
       // normal cmyk and then we won't have to the following
       var cs = xref.fetchIfRef(dict.get('ColorSpace'));
       if (isName(cs) && cs.name === 'DeviceCMYK') {
-      //if (isCmykAdobe(bytes)) {
         this.isNative = false;
         this.bytes = bytes;
       } else {

From 8c182cb72428465b94e569e56f7029a37ca38200 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 8 Nov 2011 17:27:02 -0500
Subject: [PATCH 13/68] Default font fallback is same as setFont()'s

---
 src/canvas.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/canvas.js b/src/canvas.js
index 83d9c34d1..590af469c 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -494,7 +494,7 @@ var CanvasGraphics = (function canvasGraphics() {
       var fontHeight = text.geom.vScale * fontSize;
 
       div.style.fontSize = fontHeight + 'px';
-      div.style.fontFamily = this.current.font.loadedName || 'serif';
+      div.style.fontFamily = this.current.font.loadedName || 'sans-serif';
       div.style.left = text.geom.x + 'px';
       div.style.top = (text.geom.y - fontHeight) + 'px';
       div.innerHTML = text.str;

From 073af783070e15863ab688954055d098e4cd8e9c Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 9 Nov 2011 09:29:33 -0800
Subject: [PATCH 14/68] Handle device gray and pass in the color transform
 option.

---
 src/stream.js | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/stream.js b/src/stream.js
index ce69e96aa..65e122ad0 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -797,16 +797,21 @@ var JpegStream = (function jpegStream() {
     // Flag indicating wether the image can be natively loaded.
     this.isNative = true;
 
+    this.colorTransform = -1;
+
     if (isAdobeImage(bytes)) {
       // when bug 674619 land, let's check if browser can do
       // normal cmyk and then we won't have to the following
       var cs = xref.fetchIfRef(dict.get('ColorSpace'));
-      if (isName(cs) && cs.name === 'DeviceCMYK') {
-        this.isNative = false;
-        this.bytes = bytes;
-      } else {
+
+      // DeviceRGB and DeviceGray are the only Adobe images that work natively
+      if (isName(cs) && (cs.name === 'DeviceRGB' || cs.name === 'DeviceGray')) {
         bytes = fixAdobeImage(bytes);
         this.src = bytesToString(bytes);
+      } else {
+        this.colorTransform = dict.get('ColorTransform');
+        this.isNative = false;
+        this.bytes = bytes;
       }
     } else {
       this.src = bytesToString(bytes);
@@ -820,7 +825,7 @@ var JpegStream = (function jpegStream() {
   constructor.prototype.ensureBuffer = function jpegStreamEnsureBuffer(req) {
     if (this.bufferLength)
       return;
-    var jpegImage = new JpegImage();
+    var jpegImage = new JpegImage(this.colorTransform);
     jpegImage.parse(this.bytes);
     var width = jpegImage.width;
     var height = jpegImage.height;

From 22e531b1f2c48dbdc4f78ab28df181c4d5e8e0e5 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 9 Nov 2011 09:36:57 -0800
Subject: [PATCH 15/68] Adding the jpgjs as submodule.

---
 .gitmodules    | 3 +++
 external/jpgjs | 1 +
 2 files changed, 4 insertions(+)
 create mode 100644 .gitmodules
 create mode 160000 external/jpgjs

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..5a852cd3f
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "external/jpgjs"]
+	path = external/jpgjs
+	url = git@github.com:brendandahl/jpgjs.git
diff --git a/external/jpgjs b/external/jpgjs
new file mode 160000
index 000000000..592bec146
--- /dev/null
+++ b/external/jpgjs
@@ -0,0 +1 @@
+Subproject commit 592bec14658593fe90df1309926a38177889042e

From 3d662cf08a559c8a074bbe8440fe3074d413f1a2 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 9 Nov 2011 09:39:55 -0800
Subject: [PATCH 16/68] Add the cmyk jpeg test file.

---
 test/pdfs/.gitignore    |   2 +-
 test/pdfs/cmykjpeg.pdf  | Bin 0 -> 141727 bytes
 test/test_manifest.json |   7 +++++++
 3 files changed, 8 insertions(+), 1 deletion(-)
 create mode 100644 test/pdfs/cmykjpeg.pdf

diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index 443cb155a..854612f83 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -14,4 +14,4 @@
 !sizes.pdf
 !close-path-bug.pdf
 !alphatrans.pdf
-
+!cmykjpeg.pdf
diff --git a/test/pdfs/cmykjpeg.pdf b/test/pdfs/cmykjpeg.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..2f35ef763824b72d78054d53974eecabd87d5981
GIT binary patch
literal 141727
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%0Ds{6}h0|
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
Yv3n($egX*<awev^h+)GLk}VPc0hN*O;{X5v

literal 0
HcmV?d00001

diff --git a/test/test_manifest.json b/test/test_manifest.json
index 8085506a2..a6f2dc72a 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -268,5 +268,12 @@
        "link": false,
        "rounds": 1,
        "type": "eq"
+    },
+    {  "id": "cmykjpeg",
+       "file": "pdfs/cmykjpeg.pdf",
+       "md5": "8307472972ba962d86d2f60d2ced9a97",
+       "link": false,
+       "rounds": 1,
+       "type": "eq"
     }
 ]

From b872a08f4fab9e36e4aad24e025a278178010f5c Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 9 Nov 2011 09:50:40 -0800
Subject: [PATCH 17/68] Data is now created by jpg.js since we don't know the
 size.

---
 external/jpgjs | 2 +-
 src/stream.js  | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/external/jpgjs b/external/jpgjs
index 592bec146..0d69fa811 160000
--- a/external/jpgjs
+++ b/external/jpgjs
@@ -1 +1 @@
-Subproject commit 592bec14658593fe90df1309926a38177889042e
+Subproject commit 0d69fa8117fd72c58d85f8b0536d7eebd7b96c47
diff --git a/src/stream.js b/src/stream.js
index 65e122ad0..69f792b58 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -829,9 +829,7 @@ var JpegStream = (function jpegStream() {
     jpegImage.parse(this.bytes);
     var width = jpegImage.width;
     var height = jpegImage.height;
-    var dataLength = width * height * 4;
-    var data = new Uint8Array(dataLength);
-    jpegImage.getData(data, width, height, true);
+    var data = jpegImage.getData(width, height);
     this.buffer = data;
     this.bufferLength = data.length;
   };

From baf395ab16dabca43d977162534b35694ab762fc Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Wed, 9 Nov 2011 13:53:27 -0500
Subject: [PATCH 18/68] Removing 1040... (duplicate)

---
 test/pdfs/.gitignore    |   1 -
 test/pdfs/1040.pdf      | Bin 299340 -> 0 bytes
 test/test_manifest.json |   7 -------
 3 files changed, 8 deletions(-)
 delete mode 100644 test/pdfs/1040.pdf

diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index dce433acf..443cb155a 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -14,5 +14,4 @@
 !sizes.pdf
 !close-path-bug.pdf
 !alphatrans.pdf
-!1040.pdf
 
diff --git a/test/pdfs/1040.pdf b/test/pdfs/1040.pdf
deleted file mode 100644
index 12b9a66429417553b31b1bc57ea254e44cfc3a9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 299340
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
JPX{#a{{ekhub=<`

diff --git a/test/test_manifest.json b/test/test_manifest.json
index 0d6e61b7a..8085506a2 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -268,12 +268,5 @@
        "link": false,
        "rounds": 1,
        "type": "eq"
-    },
-    {  "id": "1040",
-       "file": "pdfs/1040.pdf",
-       "md5": "7323b50c6d28d959b8b4b92c469b2469",
-       "link": false,
-       "rounds": 1,
-       "type": "eq"
     }
 ]

From ceda6aada8b90d58a17c5d132ddd4885aecc6e62 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 9 Nov 2011 16:38:55 -0800
Subject: [PATCH 19/68] Update readme to init the submodule.

---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index deb925601..be342060d 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,8 @@ To get a local copy of the current code, clone it using git:
 
     $ git clone git://github.com/mozilla/pdf.js.git pdfjs
     $ cd pdfjs
+    $ git submodule init
+    $ git submodule update
 
 Next, you need to start a local web server as some browsers don't allow opening
 PDF files for a file:// url:

From b1ae23772fb3369b52c8ace087d270ced87c88d8 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Mon, 14 Nov 2011 15:32:52 -0500
Subject: [PATCH 20/68] No suppressWarnings in Yury's encoding patch

---
 src/canvas.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index bf3bad4c6..d80bc80b2 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -478,10 +478,10 @@ var CanvasGraphics = (function canvasGraphics() {
         geom.hScale = tr[0] - bl[0];
         geom.vScale = tr[1] - bl[1];
       }
-      var spaceGlyph = font.charsToGlyphs(' ', true);
+      var spaceGlyph = font.charsToGlyphs(' ');
       // Hack (sometimes space is not encoded)
       if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
-        spaceGlyph = font.charsToGlyphs('i', true);
+        spaceGlyph = font.charsToGlyphs('i');
       // Fallback
       if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
         spaceGlyph = [ {width:0} ];

From 87d13cf803a1366f4838d7f6ae05d3713aefb806 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 15 Nov 2011 15:05:31 -0800
Subject: [PATCH 21/68] Remove submodule.

---
 .gitmodules    | 3 ---
 external/jpgjs | 1 -
 2 files changed, 4 deletions(-)
 delete mode 100644 .gitmodules
 delete mode 160000 external/jpgjs

diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 5a852cd3f..000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "external/jpgjs"]
-	path = external/jpgjs
-	url = git@github.com:brendandahl/jpgjs.git
diff --git a/external/jpgjs b/external/jpgjs
deleted file mode 160000
index 0d69fa811..000000000
--- a/external/jpgjs
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0d69fa8117fd72c58d85f8b0536d7eebd7b96c47

From 9e8d0795793b9c4edd85f95eec2fd5ef27fdcb2a Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 15 Nov 2011 15:08:13 -0800
Subject: [PATCH 22/68] Adding jpg.js back as a regular file.

---
 external/jpgjs/jpg.js | 722 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 722 insertions(+)
 create mode 100644 external/jpgjs/jpg.js

diff --git a/external/jpgjs/jpg.js b/external/jpgjs/jpg.js
new file mode 100644
index 000000000..6ae443c41
--- /dev/null
+++ b/external/jpgjs/jpg.js
@@ -0,0 +1,722 @@
+/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /
+/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
+
+// - The JPEG specification can be found in the ITU CCITT Recommendation T.81
+//   (www.w3.org/Graphics/JPEG/itu-t81.pdf)
+// - The JFIF specification can be found in the JPEG File Interchange Format
+//   (www.w3.org/Graphics/JPEG/jfif3.pdf)
+// - The Adobe Application-Specific JPEG markers in the Supporting the DCT Filters
+//   in PostScript Level 2, Technical Note #5116
+//   (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)
+
+var JpegImage = (function jpegImage() {
+  "use strict";
+
+  function constructor(colorTransform) {
+    this.colorTransform = typeof colorTransform !== 'undefined' ? colorTransform : -1;
+  }
+
+  var iDCTTables = (function initDCTTables() {
+    var cosTables = [], i, j;
+    for (i = 0; i < 8; i++) {
+      cosTables.push(new Float32Array(8));
+      for (j = 0; j < 8; j++)
+        cosTables[i][j] = Math.cos((2 * i + 1) * j * Math.PI / 16) *
+          (j > 0 ? 1 : 1/Math.sqrt(2));
+    }
+
+    var zzTransform = new Int32Array([
+      0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12,
+      17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32,
+      39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47,
+      50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63]);
+
+    var x, y, u, v;
+    var tables = [];
+    for (y = 0; y < 8; y++) {
+      var cosTable_y = cosTables[y];
+      for (x = 0; x < 8; x++) {
+        var cosTable_x = cosTables[x];
+        var table = new Float32Array(64);
+        i = 0;
+        for (v = 0; v < 8; v++) {
+          for (u = 0; u < 8; u++)
+            table[zzTransform[i++]] = cosTable_x[u] * cosTable_y[v];
+        }
+        tables.push(table);
+      }
+    }
+    return tables;
+  })();
+
+  function buildHuffmanTable(codeLengths, values) {
+    var k = 0, code = [], i, j, length = 16;
+    while (length > 0 && !codeLengths[length - 1])
+      length--;
+    code.push({children: [], index: 0});
+    var p = code[0], q;
+    for (i = 0; i < length; i++) {
+      for (j = 0; j < codeLengths[i]; j++) {
+        p = code.pop();
+        p.children[p.index] = values[k];
+        while (p.index > 0) {
+          p = code.pop();
+        }
+        p.index++;
+        code.push(p);
+        while (code.length <= i) {
+          code.push(q = {children: [], index: 0});
+          p.children[p.index] = q.children;
+          p = q;
+        }
+        k++;
+      }
+      if (i + 1 < length) {
+        // p here points to last code
+        code.push(q = {children: [], index: 0});
+        p.children[p.index] = q.children;
+        p = q;
+      }
+    }
+    return code[0].children;
+  }
+
+  function decodeScan(data, offset,
+                      frame, components, resetInterval,
+                      spectralStart, spectralEnd,
+                      successivePrev, successive) {
+    var precision = frame.precision;
+    var samplesPerLine = frame.samplesPerLine;
+    var scanLines = frame.scanLines;
+    var mcusPerLine = frame.mcusPerLine;
+    var progressive = frame.progressive;
+    var maxH = frame.maxH, maxV = frame.maxV;
+
+    var startOffset = offset, bitsData = 0, bitsCount = 0;
+    function readBit() {
+      if (bitsCount > 0) {
+        bitsCount--;
+        return (bitsData >> bitsCount) & 1;
+      }
+      bitsData = data[offset++];
+      if (bitsData == 0xFF) {
+        var nextByte = data[offset++];
+        if (nextByte) {
+          throw "unexpected marker: " + ((bitsData << 8) | nextByte).toString(16);
+        }
+        // unstuff 0
+      }
+      bitsCount = 7;
+      return bitsData >>> 7;
+    }
+    function decodeHuffman(tree) {
+      var node = tree, bit;
+      while ((bit = readBit()) !== null) {
+        node = node[bit];
+        if (typeof node === 'number')
+          return node;
+        if (typeof node !== 'object')
+          throw "invalid huffman sequence";
+      }
+      return null;
+    }
+    function receive(length) {
+      var n = 0;
+      while (length > 0) {
+        var bit = readBit();
+        if (bit === null) return;
+        n = (n << 1) | bit;
+        length--;
+      }
+      return n;
+    }
+    function receiveAndExtend(length) {
+      var n = receive(length);
+      if (n >= 1 << (length - 1))
+        return n;
+      return n + (-1 << length) + 1;
+    }
+    function decodeBaseline(component, zz) {
+      var t = decodeHuffman(component.huffmanTableDC);
+      var diff = t === 0 ? 0 : receiveAndExtend(t);
+      zz[0]= (component.pred += diff);
+      var k = 1;
+      while (k < 64) {
+        var rs = decodeHuffman(component.huffmanTableAC);
+        var s = rs & 15, r = rs >> 4;
+        if (s === 0) {
+          if (r < 15)
+            break;
+          k += 16;
+          continue;
+        }
+        k += r;
+        zz[k] = receiveAndExtend(s);
+        k++;
+      }
+    }
+    function decodeDCFirst(component, zz) {
+      var t = decodeHuffman(component.huffmanTableDC);
+      var diff = t === 0 ? 0 : (receiveAndExtend(t) << successive);
+      zz[0] = (component.pred += diff);
+    }
+    function decodeDCSuccessive(component, zz) {
+      zz[0] |= readBit() << successive;
+    }
+    var eobrun = 0;
+    function decodeACFirst(component, zz) {
+      if (eobrun > 0) {
+        eobrun--;
+        return;
+      }
+      var k = spectralStart, e = spectralEnd;
+      while (k <= e) {
+        var rs = decodeHuffman(component.huffmanTableAC);
+        var s = rs & 15, r = rs >> 4;
+        if (s === 0) {
+          if (r < 15) {
+            eobrun = receive(r) + (1 << r) - 1;
+            break;
+          }
+          k += 16;
+          continue;
+        }
+        k += r;
+        zz[k] = receiveAndExtend(s) * (1 << successive);
+        k++;
+      }
+    }
+    var successiveACState = 0, successiveACNextValue;
+    function decodeACSuccessive(component, zz) {
+      var k = spectralStart, e = spectralEnd, r = 0;
+      while (k <= e) {
+        switch (successiveACState) {
+        case 0: // initial state
+          var rs = decodeHuffman(component.huffmanTableAC);
+          var s = rs & 15, r = rs >> 4;
+          if (s === 0) {
+            if (r < 15) {
+              eobrun = receive(r) + (1 << r);
+              successiveACState = 4;
+            } else {
+              r = 16;
+              successiveACState = 1;
+            }
+          } else {
+            if (s !== 1)
+              throw "invalid ACn encoding";
+            successiveACNextValue = receiveAndExtend(s);
+            successiveACState = r ? 2 : 3;
+          }
+          continue;
+        case 1: // skipping r zero items
+        case 2:
+          if (zz[k])
+            zz[k] += (readBit() << successive);
+          else {
+            r--;
+            if (r === 0)
+              successiveACState = successiveACState == 2 ? 3 : 0;
+          }
+          break;
+        case 3: // set value for a zero item
+          if (zz[k])
+            zz[k] += (readBit() << successive);
+          else {
+            zz[k] = successiveACNextValue << successive;
+            successiveACState = 0;
+          }
+          break;
+        case 4: // eob
+          if (zz[k])
+            zz[k] += (readBit() << successive);
+          break;
+        }
+        k++;
+      }
+      if (successiveACState === 4) {
+        eobrun--;
+        if (eobrun === 0)
+          successiveACState = 0;
+      }
+    }
+    function decodeMcu(component, decode, mcu, row, col) {
+      var mcuRow = (mcu / mcusPerLine) | 0;
+      var mcuCol = mcu % mcusPerLine;
+      var blockRow = mcuRow * component.v + row;
+      var blockCol = mcuCol * component.h + col;
+      decode(component, component.blocks[blockRow][blockCol]);
+    }
+    function decodeBlock(component, decode, mcu) {
+      var blockRow = (mcu / component.blocksPerLine) | 0;
+      var blockCol = mcu % component.blocksPerLine;
+      decode(component, component.blocks[blockRow][blockCol]);
+    }
+
+    var componentsLength = components.length;
+    var component, i, j, k, n;
+    var decodeFn;
+    if (progressive) {
+      if (spectralStart === 0)
+        decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;
+      else
+        decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;
+    } else {
+      decodeFn = decodeBaseline;
+    }
+
+    var mcu = 0, marker;
+    var mcuExpected;
+    if (componentsLength == 1) {
+      mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;
+    } else {
+      mcuExpected = mcusPerLine * frame.mcusPerColumn;
+    }
+    if (!resetInterval) resetInterval = mcuExpected;
+
+    var h, v;
+    while (mcu < mcuExpected) {
+      // reset interval stuff
+      for (i = 0; i < componentsLength; i++)
+        components[i].pred = 0;
+      eobrun = 0;
+
+      if (componentsLength == 1) {
+        component = components[0];
+        for (n = 0; n < resetInterval; n++) {
+          decodeBlock(component, decodeFn, mcu);
+          mcu++;
+        }
+      } else {
+        for (n = 0; n < resetInterval; n++) {
+          for (i = 0; i < componentsLength; i++) {
+            component = components[i];
+            h = component.h;
+            v = component.v;
+            for (j = 0; j < v; j++) {
+              for (k = 0; k < h; k++) {
+                decodeMcu(component, decodeFn, mcu, j, k);
+              }
+            }
+          }
+          mcu++;
+        }
+      }
+
+      // find marker
+      bitsCount = 0;
+      marker = (data[offset] << 8) | data[offset + 1];
+      if (marker <= 0xFF00) {
+        throw "marker was not found";
+      }
+
+      if (marker >= 0xFFD0 && marker <= 0xFFD7) { // RSTx
+        offset += 2;
+      }
+      else
+        break;
+    }
+
+    return offset - startOffset;
+  }
+
+  function buildComponentData(frame, component) {
+    var lines = [];
+    var blocksPerLine = component.blocksPerLine;
+    var blocksPerColumn = component.blocksPerColumn;
+    var samplesPerLine = blocksPerLine << 3;
+
+    function quantizeAndInverse(zz) {
+      var qt = component.quantizationTable;
+      var precisionShift = frame.precision - 8;
+
+      var R = new Int32Array(64);
+      for (i = 0; i < 64; i++)
+        R[i] = zz[i] * qt[i];
+
+      var r = new Uint8Array(64), i, j;
+      for (i = 0; i < 64; i++) {
+        var sum = 0;
+        var table = iDCTTables[i];
+        for (j = 0; j < 64; j++)
+          sum += table[j] * R[j];
+        // TODO loosing precision?
+        var sample = 128 + ((sum / 4) >> precisionShift);
+        // clamping
+        r[i] = sample < 0 ? 0 : sample > 0xFF ? 0xFF : sample;
+      }
+      return r;
+    }
+
+    var i, j;
+    for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {
+      var scanLine = blockRow << 3;
+      for (i = 0; i < 8; i++)
+        lines.push(new Uint8Array(samplesPerLine));
+      for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
+        var r = quantizeAndInverse(component.blocks[blockRow][blockCol]);
+
+        var offset = 0, sample = blockCol << 3;
+        for (j = 0; j < 8; j++) {
+          var line = lines[scanLine + j];
+          for (i = 0; i < 8; i++)
+            line[sample + i] = r[offset++];
+        }
+      }
+    }
+    return lines;
+  }
+
+  constructor.prototype = {
+    load: function load(path) {
+      var xhr = new XMLHttpRequest();
+      xhr.open("GET", path, true);
+      xhr.responseType = "arraybuffer";
+      xhr.onload = (function() {
+        // TODO catch parse error
+        var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);
+        this.parse(data);
+        if (this.onload)
+          this.onload();
+      }).bind(this);
+      xhr.send(null);
+    },
+    parse: function parse(data) {
+      var offset = 0, length = data.length;
+      function readUint16() {
+        var value = (data[offset] << 8) | data[offset + 1];
+        offset += 2;
+        return value;
+      }
+      function readDataBlock() {
+        var length = readUint16();
+        var array = data.subarray(offset, offset + length - 2);
+        offset += array.length;
+        return array;
+      }
+      function prepareComponents(frame) {
+        var maxH = 0, maxV = 0;
+        var component, componentId;
+        for (componentId in frame.components) {
+          if (frame.components.hasOwnProperty(componentId)) {
+            component = frame.components[componentId];
+            if (maxH < component.h) maxH = component.h;
+            if (maxV < component.v) maxV = component.v;
+          }
+        }
+        var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / maxH);
+        var mcusPerColumn = Math.ceil(frame.scanLines / 8 / maxV);
+        for (componentId in frame.components) {
+          if (frame.components.hasOwnProperty(componentId)) {
+            component = frame.components[componentId];
+            var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / maxH);
+            var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines  / 8) * component.v / maxV);
+            var blocksPerLineForMcu = mcusPerLine * component.h;
+            var blocksPerColumnForMcu = mcusPerColumn * component.v;
+            var blocks = [];
+            for (var i = 0; i < blocksPerColumnForMcu; i++) {
+              var row = [];
+              for (var j = 0; j < blocksPerLineForMcu; j++)
+                row.push(new Int32Array(64));
+              blocks.push(row);
+            }
+            component.blocksPerLine = blocksPerLine;
+            component.blocksPerColumn = blocksPerColumn;
+            component.blocks = blocks;
+          }
+        }
+        frame.maxH = maxH;
+        frame.maxV = maxV;
+        frame.mcusPerLine = mcusPerLine;
+        frame.mcusPerColumn = mcusPerColumn;
+      }
+      var jfif = null;
+      var adobe = null;
+      var pixels = null;
+      var frame, resetInterval;
+      var quantizationTables = [], frames = [];
+      var huffmanTablesAC = [], huffmanTablesDC = [];
+      var fileMarker = readUint16();
+      if (fileMarker != 0xFFD8) { // SOI (Start of Image)
+        throw "SOI not found";
+      }
+
+      fileMarker = readUint16();
+      while (fileMarker != 0xFFD9) { // EOI (End of image)
+        var i, j, l;
+        switch(fileMarker) {
+          case 0xFFE0: // APP0 (Application Specific)
+          case 0xFFE1: // APP1
+          case 0xFFE2: // APP2
+          case 0xFFE3: // APP3
+          case 0xFFE4: // APP4
+          case 0xFFE5: // APP5
+          case 0xFFE6: // APP6
+          case 0xFFE7: // APP7
+          case 0xFFE8: // APP8
+          case 0xFFE9: // APP9
+          case 0xFFEA: // APP10
+          case 0xFFEB: // APP11
+          case 0xFFEC: // APP12
+          case 0xFFED: // APP13
+          case 0xFFEE: // APP14
+          case 0xFFEF: // APP15
+          case 0xFFFE: // COM (Comment)
+            var appData = readDataBlock();
+
+            if (fileMarker === 0xFFE0) {
+              if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 &&
+                appData[3] === 0x46 && appData[4] === 0) { // 'JFIF\x00'
+                jfif = {
+                  version: { major: appData[5], minor: appData[6] },
+                  densityUnits: appData[7],
+                  xDensity: (appData[8] << 8) | appData[9],
+                  yDensity: (appData[10] << 8) | appData[11],
+                  thumbWidth: appData[12],
+                  thumbHeight: appData[13],
+                  thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])
+                };
+              }
+            }
+            // TODO APP1 - Exif
+            if (fileMarker === 0xFFEE) {
+              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F &&
+                appData[3] === 0x62 && appData[4] === 0x65 && appData[5] === 0) { // 'Adobe\x00'
+                adobe = {
+                  version: appData[6],
+                  flags0: (appData[7] << 8) | appData[8],
+                  flags1: (appData[9] << 8) | appData[10],
+                  transformCode: appData[11]
+                };
+              }
+            }
+            break;
+
+          case 0xFFDB: // DQT (Define Quantization Tables)
+            var quantizationTableCount = Math.floor((readUint16() - 2) / 65);
+            for (i = 0; i < quantizationTableCount; i++) {
+              var quantizationTableSpec = data[offset++];
+              var tableData = new Int32Array(64);
+              if ((quantizationTableSpec >> 4) === 0) { // 8 bit values
+                for (j = 0; j < 64; j++)
+                  tableData[j] = data[offset++];
+              } else if ((quantizationTableSpec >> 4) === 1) { //16 bit
+                  tableData[j] = readUint16();
+              } else
+                throw "DQT: invalid table spec";
+              quantizationTables[quantizationTableSpec & 15] = tableData;
+            }
+            break;
+
+          case 0xFFC0: // SOF0 (Start of Frame, Baseline DCT)
+          case 0xFFC2: // SOF2 (Start of Frame, Progressive DCT)
+            readUint16(); // skip data length
+            frame = {};
+            frame.progressive = (fileMarker === 0xFFC2);
+            frame.precision = data[offset++];
+            frame.scanLines = readUint16();
+            frame.samplesPerLine = readUint16();
+            frame.components = [];
+            var componentsCount = data[offset++], componentId;
+            var maxH = 0, maxV = 0;
+            for (i = 0; i < componentsCount; i++) {
+              componentId = data[offset];
+              var h = data[offset + 1] >> 4;
+              var v = data[offset + 1] & 15;
+              var qId = data[offset + 2];
+              frame.components[componentId] = {
+                h: h,
+                v: v,
+                quantizationTable: quantizationTables[qId]
+              };
+              offset += 3;
+            }
+            prepareComponents(frame);
+            frames.push(frame);
+            break;
+
+          case 0xFFC4: // DHT (Define Huffman Tables)
+            var huffmanLength = readUint16();
+            for (i = 2; i < huffmanLength;) {
+              var huffmanTableSpec = data[offset++];
+              var codeLengths = new Uint8Array(16);
+              var codeLengthSum = 0;
+              for (j = 0; j < 16; j++, offset++)
+                codeLengthSum += (codeLengths[j] = data[offset]);
+              var huffmanValues = new Uint8Array(codeLengthSum);
+              for (j = 0; j < codeLengthSum; j++, offset++)
+                huffmanValues[j] = data[offset];
+              i += 17 + codeLengthSum;
+
+              ((huffmanTableSpec >> 4) === 0 ? 
+                huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] =
+                buildHuffmanTable(codeLengths, huffmanValues);
+            }
+            break;
+
+          case 0xFFDD: // DRI (Define Restart Interval)
+            readUint16(); // skip data length
+            resetInterval = readUint16();
+            break;
+
+          case 0xFFDA: // SOS (Start of Scan)
+            var scanLength = readUint16();
+            var selectorsCount = data[offset++];
+            var components = [], component;
+            for (i = 0; i < selectorsCount; i++) {
+              component = frame.components[data[offset++]];
+              var tableSpec = data[offset++];
+              component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];
+              component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];
+              components.push(component);
+            }
+            var spectralStart = data[offset++];
+            var spectralEnd = data[offset++];
+            var successiveApproximation = data[offset++];
+            var processed = decodeScan(data, offset,
+              frame, components, resetInterval,
+              spectralStart, spectralEnd,
+              successiveApproximation >> 4, successiveApproximation & 15);
+            offset += processed;
+            break;
+          default:
+            throw "unknown JPEG marker " + fileMarker.toString(16);
+        }
+        fileMarker = readUint16();
+      }
+      if (frames.length != 1)
+        throw "only single frame JPEGs supported";
+
+      this.width = frame.samplesPerLine;
+      this.height = frame.scanLines;
+      this.jfif = jfif;
+      this.adobe = adobe;
+      this.components = [];
+      for (var id in frame.components) {
+        if (frame.components.hasOwnProperty(id)) {
+          this.components.push({
+            lines: buildComponentData(frame, frame.components[id]),
+            scaleX: frame.components[id].h / frame.maxH,
+            scaleY: frame.components[id].v / frame.maxV
+          });
+        }
+      }
+    },
+    getData: function getData(width, height) {
+      function clampTo8bit(a) {
+        return a < 0 ? 0 : a > 255 ? 255 : a;
+      }
+      var scaleX = this.width / width, scaleY = this.height / height;
+
+      var component1, component2, component3, component4;
+      var component1Line, component2Line, component3Line, component4Line;
+      var x, y;
+      var offset = 0;
+      var Y, Cb, Cr, K, C, M, Ye, R, G, B;
+      var colorTransform;
+      var dataLength = width * height * this.components.length;
+      var data = new Uint8Array(dataLength);
+      switch (this.components.length) {
+        case 1:
+          component1 = this.components[0];
+          for (y = 0; y < height; y++) {
+            component1Line = component1.lines[0 | (y * component1.scaleY * scaleY)];
+            for (x = 0; x < width; x++) {
+              Y = component1Line[0 | (x * component1.scaleX * scaleX)];
+
+              data[offset++] = Y;
+            }
+          }
+          break;
+        case 3:
+          // The default transform for three components is true
+          colorTransform = true;
+          // The adobe transform marker overrides any previous setting
+          if (this.adobe && this.adobe.transformCode)
+            colorTransform = true;
+          else if (typeof this.colorTransform != -1)
+            colorTransform = this.colorTransform == true;
+
+          component1 = this.components[0];
+          component2 = this.components[1];
+          component3 = this.components[2];
+          for (y = 0; y < height; y++) {
+            component1Line = component1.lines[0 | (y * component1.scaleY * scaleY)];
+            component2Line = component2.lines[0 | (y * component2.scaleY * scaleY)];
+            component3Line = component3.lines[0 | (y * component3.scaleY * scaleY)];
+            for (x = 0; x < width; x++) {
+              if (!colorTransform) {
+                R = component1Line[0 | (x * component1.scaleX * scaleX)];
+                G = component2Line[0 | (x * component2.scaleX * scaleX)];
+                B = component3Line[0 | (x * component3.scaleX * scaleX)];
+              } else {
+                Y = component1Line[0 | (x * component1.scaleX * scaleX)];
+                Cb = component2Line[0 | (x * component2.scaleX * scaleX)];
+                Cr = component3Line[0 | (x * component3.scaleX * scaleX)];
+
+                R = clampTo8bit(Y + 1.402 * (Cr - 128));
+                G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));
+                B = clampTo8bit(Y + 1.772 * (Cb - 128));
+              }
+
+              data[offset++] = R;
+              data[offset++] = G;
+              data[offset++] = B;
+            }
+          }
+          break;
+        case 4:
+          if (!this.adobe)
+            throw 'Unsupported color mode (4 components)';
+          // The default transform for four components is false
+          colorTransform = false;
+          // The adobe transform marker overrides any previous setting
+          if (this.adobe && this.adobe.transformCode)
+            colorTransform = true;
+          else if (typeof this.colorTransform != -1)
+            colorTransform = this.colorTransform == true;
+
+          component1 = this.components[0];
+          component2 = this.components[1];
+          component3 = this.components[2];
+          component4 = this.components[3];
+          for (y = 0; y < height; y++) {
+            component1Line = component1.lines[0 | (y * component1.scaleY * scaleY)];
+            component2Line = component2.lines[0 | (y * component2.scaleY * scaleY)];
+            component3Line = component3.lines[0 | (y * component3.scaleY * scaleY)];
+            component4Line = component4.lines[0 | (y * component4.scaleY * scaleY)];
+            for (x = 0; x < width; x++) {
+              if (!colorTransform) {
+                C = component1Line[0 | (x * component1.scaleX * scaleX)];
+                M = component2Line[0 | (x * component2.scaleX * scaleX)];
+                Ye = component3Line[0 | (x * component3.scaleX * scaleX)];
+                K = component4Line[0 | (x * component4.scaleX * scaleX)];
+              } else {
+                Y = component1Line[0 | (x * component1.scaleX * scaleX)];
+                Cb = component2Line[0 | (x * component2.scaleX * scaleX)];
+                Cr = component3Line[0 | (x * component3.scaleX * scaleX)];
+                K = component4Line[0 | (x * component4.scaleX * scaleX)];
+
+                C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));
+                M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));
+                Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));
+              }
+              data[offset++] = C;
+              data[offset++] = M;
+              data[offset++] = Ye;
+              data[offset++] = K;
+            }
+          }
+          break;
+        default:
+          throw 'Unsupported color mode';
+      }
+      return data;
+    },
+    copyToImageData: function copyToImageData(imageData) {
+      this.getData(imageData.data, imageData.width, imageData.height);
+    }
+  };
+
+  return constructor;
+})();
\ No newline at end of file

From edf6f51c27d9a721ed6640ef926ae8878fd95048 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 15 Nov 2011 15:51:32 -0800
Subject: [PATCH 23/68] Remove submodule documentation.

---
 README.md | 2 --
 1 file changed, 2 deletions(-)

diff --git a/README.md b/README.md
index be342060d..deb925601 100644
--- a/README.md
+++ b/README.md
@@ -45,8 +45,6 @@ To get a local copy of the current code, clone it using git:
 
     $ git clone git://github.com/mozilla/pdf.js.git pdfjs
     $ cd pdfjs
-    $ git submodule init
-    $ git submodule update
 
 Next, you need to start a local web server as some browsers don't allow opening
 PDF files for a file:// url:

From d2964f3e94b92629150cb97525753dc845d6eade Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 16 Nov 2011 15:12:42 -0800
Subject: [PATCH 24/68] Update documentation.

---
 src/stream.js | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/stream.js b/src/stream.js
index 69f792b58..c7b5c8121 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -756,8 +756,13 @@ var PredictorStream = (function predictorStream() {
   return constructor;
 })();
 
-// A JpegStream can't be read directly. We use the platform to render
-// the underlying JPEG data for us.
+/**
+ * Depending on the type of JPEG a JpegStream is handled in different ways. For
+ * JPEG's that are supported natively such as DeviceGray and DeviceRGB the image
+ * data is stored and then loaded by the browser.  For unsupported JPEG's we use
+ * a library to decode these images and the stream behaves like all the other
+ * DecodeStreams.
+ */
 var JpegStream = (function jpegStream() {
   function isAdobeImage(bytes) {
     var maxBytesScanned = Math.max(bytes.length - 16, 1024);

From 564fe0d90783db6b34071270f54af36a8edd54d7 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 16 Nov 2011 15:16:04 -0800
Subject: [PATCH 25/68] Remove open web pdf until we can resolve the
 performance issues.

---
 test/test_manifest.json | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/test/test_manifest.json b/test/test_manifest.json
index a6f2dc72a..583e1cbaa 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -44,13 +44,6 @@
        "rounds": 1,
        "type": "eq"
     },
-    {  "id": "openweb-cover",
-       "file": "pdfs/openweb_tm-PRINT.pdf",
-       "md5": "53f611dfc19ddfb50554c21c4af465c0",
-       "link": true,
-       "rounds": 1,
-       "type": "eq"
-    },
     {  "id": "plusminus",
        "file": "pdfs/Test-plusminus.pdf",
        "md5": "1ec7ade5b95ac9aaba3a618af28d34c7",

From b150f8be0dd163c542c35dbca1fdbaeaf223f392 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Wed, 16 Nov 2011 15:18:31 -0800
Subject: [PATCH 26/68] Remove the open web link file for now.

---
 test/pdfs/openweb_tm-PRINT.pdf.link | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 test/pdfs/openweb_tm-PRINT.pdf.link

diff --git a/test/pdfs/openweb_tm-PRINT.pdf.link b/test/pdfs/openweb_tm-PRINT.pdf.link
deleted file mode 100644
index 08c897140..000000000
--- a/test/pdfs/openweb_tm-PRINT.pdf.link
+++ /dev/null
@@ -1 +0,0 @@
-http://openweb.flossmanuals.net/materials/openweb_tm-PRINT.pdf
\ No newline at end of file

From 7a5556ca91ff2a5ebdb4038564d5f1cd96436f56 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Mon, 21 Nov 2011 09:35:36 -0800
Subject: [PATCH 27/68] Add license.

---
 external/jpgjs/LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 external/jpgjs/LICENSE

diff --git a/external/jpgjs/LICENSE b/external/jpgjs/LICENSE
new file mode 100644
index 000000000..d1c08028c
--- /dev/null
+++ b/external/jpgjs/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (C) 2011 by notmasteryet
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

From b64b7d55b1e805fbcf0d41f843a06f162a801537 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 22 Nov 2011 09:32:20 -0800
Subject: [PATCH 28/68] Use the updated jpgjs with faster transform.

---
 external/jpgjs/LICENSE |   3 +
 external/jpgjs/jpg.js  | 323 ++++++++++++++++++++++++++++++++---------
 src/stream.js          |   3 +-
 3 files changed, 261 insertions(+), 68 deletions(-)

diff --git a/external/jpgjs/LICENSE b/external/jpgjs/LICENSE
index d1c08028c..f28619c6a 100644
--- a/external/jpgjs/LICENSE
+++ b/external/jpgjs/LICENSE
@@ -1,6 +1,9 @@
 
 Copyright (C) 2011 by notmasteryet
 
+Contributors: Yury Delendik
+              Brendan Dahl <bdahl@mozilla.com>
+
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
 "Software"), to deal in the Software without restriction, including
diff --git a/external/jpgjs/jpg.js b/external/jpgjs/jpg.js
index 6ae443c41..dc8956ac0 100644
--- a/external/jpgjs/jpg.js
+++ b/external/jpgjs/jpg.js
@@ -11,44 +11,36 @@
 
 var JpegImage = (function jpegImage() {
   "use strict";
+  var dctZigZag = new Int32Array([
+     0,
+     1,  8,
+    16,  9,  2,
+     3, 10, 17, 24,
+    32, 25, 18, 11, 4,
+     5, 12, 19, 26, 33, 40,
+    48, 41, 34, 27, 20, 13,  6,
+     7, 14, 21, 28, 35, 42, 49, 56,
+    57, 50, 43, 36, 29, 22, 15,
+    23, 30, 37, 44, 51, 58,
+    59, 52, 45, 38, 31,
+    39, 46, 53, 60,
+    61, 54, 47,
+    55, 62,
+    63
+  ]);
 
-  function constructor(colorTransform) {
-    this.colorTransform = typeof colorTransform !== 'undefined' ? colorTransform : -1;
+  var dctCos1  =  4017   // cos(pi/16)
+  var dctSin1  =   799   // sin(pi/16)
+  var dctCos3  =  3406   // cos(3*pi/16)
+  var dctSin3  =  2276   // sin(3*pi/16)
+  var dctCos6  =  1567   // cos(6*pi/16)
+  var dctSin6  =  3784   // sin(6*pi/16)
+  var dctSqrt2 =  5793   // sqrt(2)
+  var dctSqrt1d2 = 2896  // sqrt(2) / 2
+
+  function constructor() {
   }
 
-  var iDCTTables = (function initDCTTables() {
-    var cosTables = [], i, j;
-    for (i = 0; i < 8; i++) {
-      cosTables.push(new Float32Array(8));
-      for (j = 0; j < 8; j++)
-        cosTables[i][j] = Math.cos((2 * i + 1) * j * Math.PI / 16) *
-          (j > 0 ? 1 : 1/Math.sqrt(2));
-    }
-
-    var zzTransform = new Int32Array([
-      0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12,
-      17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32,
-      39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47,
-      50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63]);
-
-    var x, y, u, v;
-    var tables = [];
-    for (y = 0; y < 8; y++) {
-      var cosTable_y = cosTables[y];
-      for (x = 0; x < 8; x++) {
-        var cosTable_x = cosTables[x];
-        var table = new Float32Array(64);
-        i = 0;
-        for (v = 0; v < 8; v++) {
-          for (u = 0; u < 8; u++)
-            table[zzTransform[i++]] = cosTable_x[u] * cosTable_y[v];
-        }
-        tables.push(table);
-      }
-    }
-    return tables;
-  })();
-
   function buildHuffmanTable(codeLengths, values) {
     var k = 0, code = [], i, j, length = 16;
     while (length > 0 && !codeLengths[length - 1])
@@ -151,7 +143,8 @@ var JpegImage = (function jpegImage() {
           continue;
         }
         k += r;
-        zz[k] = receiveAndExtend(s);
+        var z = dctZigZag[k];
+        zz[z] = receiveAndExtend(s);
         k++;
       }
     }
@@ -182,7 +175,8 @@ var JpegImage = (function jpegImage() {
           continue;
         }
         k += r;
-        zz[k] = receiveAndExtend(s) * (1 << successive);
+        var z = dctZigZag[k];
+        zz[z] = receiveAndExtend(s) * (1 << successive);
         k++;
       }
     }
@@ -190,6 +184,7 @@ var JpegImage = (function jpegImage() {
     function decodeACSuccessive(component, zz) {
       var k = spectralStart, e = spectralEnd, r = 0;
       while (k <= e) {
+        var z = dctZigZag[k];
         switch (successiveACState) {
         case 0: // initial state
           var rs = decodeHuffman(component.huffmanTableAC);
@@ -211,8 +206,8 @@ var JpegImage = (function jpegImage() {
           continue;
         case 1: // skipping r zero items
         case 2:
-          if (zz[k])
-            zz[k] += (readBit() << successive);
+          if (zz[z])
+            zz[z] += (readBit() << successive);
           else {
             r--;
             if (r === 0)
@@ -220,16 +215,16 @@ var JpegImage = (function jpegImage() {
           }
           break;
         case 3: // set value for a zero item
-          if (zz[k])
-            zz[k] += (readBit() << successive);
+          if (zz[z])
+            zz[z] += (readBit() << successive);
           else {
-            zz[k] = successiveACNextValue << successive;
+            zz[z] = successiveACNextValue << successive;
             successiveACState = 0;
           }
           break;
         case 4: // eob
-          if (zz[k])
-            zz[k] += (readBit() << successive);
+          if (zz[z])
+            zz[z] += (readBit() << successive);
           break;
         }
         k++;
@@ -325,27 +320,166 @@ var JpegImage = (function jpegImage() {
     var blocksPerLine = component.blocksPerLine;
     var blocksPerColumn = component.blocksPerColumn;
     var samplesPerLine = blocksPerLine << 3;
+    var R = new Int32Array(64), r = new Uint8Array(64);
 
-    function quantizeAndInverse(zz) {
+    // A port of poppler's IDCT method which in turn is taken from:
+    //   Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,
+    //   "Practical Fast 1-D DCT Algorithms with 11 Multiplications",
+    //   IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,
+    //   988-991.
+    function quantizeAndInverse(zz, dataOut, dataIn) {
       var qt = component.quantizationTable;
-      var precisionShift = frame.precision - 8;
+      var v0, v1, v2, v3, v4, v5, v6, v7, t;
+      var p = dataIn;
+      var i;
 
-      var R = new Int32Array(64);
+      // dequant
       for (i = 0; i < 64; i++)
-        R[i] = zz[i] * qt[i];
+        p[i] = zz[i] * qt[i];
 
-      var r = new Uint8Array(64), i, j;
-      for (i = 0; i < 64; i++) {
-        var sum = 0;
-        var table = iDCTTables[i];
-        for (j = 0; j < 64; j++)
-          sum += table[j] * R[j];
-        // TODO loosing precision?
-        var sample = 128 + ((sum / 4) >> precisionShift);
-        // clamping
-        r[i] = sample < 0 ? 0 : sample > 0xFF ? 0xFF : sample;
+      // inverse DCT on rows
+      for (i = 0; i < 8; ++i) {
+        var row = 8 * i;
+
+        // check for all-zero AC coefficients
+        if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 &&
+            p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 &&
+            p[7 + row] == 0) {
+          t = (dctSqrt2 * p[0 + row] + 512) >> 10;
+          p[0 + row] = t;
+          p[1 + row] = t;
+          p[2 + row] = t;
+          p[3 + row] = t;
+          p[4 + row] = t;
+          p[5 + row] = t;
+          p[6 + row] = t;
+          p[7 + row] = t;
+          continue;
+        }
+
+        // stage 4
+        v0 = (dctSqrt2 * p[0 + row] + 128) >> 8;
+        v1 = (dctSqrt2 * p[4 + row] + 128) >> 8;
+        v2 = p[2 + row];
+        v3 = p[6 + row];
+        v4 = (dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128) >> 8;
+        v7 = (dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128) >> 8;
+        v5 = p[3 + row] << 4;
+        v6 = p[5 + row] << 4;
+
+        // stage 3
+        t = (v0 - v1+ 1) >> 1;
+        v0 = (v0 + v1 + 1) >> 1;
+        v1 = t;
+        t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;
+        v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;
+        v3 = t;
+        t = (v4 - v6 + 1) >> 1;
+        v4 = (v4 + v6 + 1) >> 1;
+        v6 = t;
+        t = (v7 + v5 + 1) >> 1;
+        v5 = (v7 - v5 + 1) >> 1;
+        v7 = t;
+
+        // stage 2
+        t = (v0 - v3 + 1) >> 1;
+        v0 = (v0 + v3 + 1) >> 1;
+        v3 = t;
+        t = (v1 - v2 + 1) >> 1;
+        v1 = (v1 + v2 + 1) >> 1;
+        v2 = t;
+        t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;
+        v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;
+        v7 = t;
+        t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;
+        v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;
+        v6 = t;
+
+        // stage 1
+        p[0 + row] = v0 + v7;
+        p[7 + row] = v0 - v7;
+        p[1 + row] = v1 + v6;
+        p[6 + row] = v1 - v6;
+        p[2 + row] = v2 + v5;
+        p[5 + row] = v2 - v5;
+        p[3 + row] = v3 + v4;
+        p[4 + row] = v3 - v4;
+      }
+
+      // inverse DCT on columns
+      for (i = 0; i < 8; ++i) {
+        var col = i;
+
+        // check for all-zero AC coefficients
+        if (p[1*8 + col] == 0 && p[2*8 + col] == 0 && p[3*8 + col] == 0 &&
+            p[4*8 + col] == 0 && p[5*8 + col] == 0 && p[6*8 + col] == 0 &&
+            p[7*8 + col] == 0) {
+          t = (dctSqrt2 * dataIn[i+0] + 8192) >> 14;
+          p[0*8 + col] = t;
+          p[1*8 + col] = t;
+          p[2*8 + col] = t;
+          p[3*8 + col] = t;
+          p[4*8 + col] = t;
+          p[5*8 + col] = t;
+          p[6*8 + col] = t;
+          p[7*8 + col] = t;
+          continue;
+        }
+
+        // stage 4
+        v0 = (dctSqrt2 * p[0*8 + col] + 2048) >> 12;
+        v1 = (dctSqrt2 * p[4*8 + col] + 2048) >> 12;
+        v2 = p[2*8 + col];
+        v3 = p[6*8 + col];
+        v4 = (dctSqrt1d2 * (p[1*8 + col] - p[7*8 + col]) + 2048) >> 12;
+        v7 = (dctSqrt1d2 * (p[1*8 + col] + p[7*8 + col]) + 2048) >> 12;
+        v5 = p[3*8 + col];
+        v6 = p[5*8 + col];
+
+        // stage 3
+        t = (v0 - v1 + 1) >> 1;
+        v0 = (v0 + v1 + 1) >> 1;
+        v1 = t;
+        t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;
+        v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;
+        v3 = t;
+        t = (v4 - v6 + 1) >> 1;
+        v4 = (v4 + v6 + 1) >> 1;
+        v6 = t;
+        t = (v7 + v5 + 1) >> 1;
+        v5 = (v7 - v5 + 1) >> 1;
+        v7 = t;
+
+        // stage 2
+        t = (v0 - v3 + 1) >> 1;
+        v0 = (v0 + v3 + 1) >> 1;
+        v3 = t;
+        t = (v1 - v2 + 1) >> 1;
+        v1 = (v1 + v2 + 1) >> 1;
+        v2 = t;
+        t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;
+        v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;
+        v7 = t;
+        t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;
+        v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;
+        v6 = t;
+
+        // stage 1
+        p[0*8 + col] = v0 + v7;
+        p[7*8 + col] = v0 - v7;
+        p[1*8 + col] = v1 + v6;
+        p[6*8 + col] = v1 - v6;
+        p[2*8 + col] = v2 + v5;
+        p[5*8 + col] = v2 - v5;
+        p[3*8 + col] = v3 + v4;
+        p[4*8 + col] = v3 - v4;
+      }
+
+      // convert to 8-bit integers
+      for (i = 0; i < 64; ++i) {
+        var sample = 128 + ((p[i] + 8) >> 4);
+        dataOut[i] = sample < 0 ? 0 : sample > 0xFF ? 0xFF : sample;
       }
-      return r;
     }
 
     var i, j;
@@ -354,7 +488,7 @@ var JpegImage = (function jpegImage() {
       for (i = 0; i < 8; i++)
         lines.push(new Uint8Array(samplesPerLine));
       for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
-        var r = quantizeAndInverse(component.blocks[blockRow][blockCol]);
+        quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);
 
         var offset = 0, sample = blockCol << 3;
         for (j = 0; j < 8; j++) {
@@ -498,8 +632,10 @@ var JpegImage = (function jpegImage() {
               var quantizationTableSpec = data[offset++];
               var tableData = new Int32Array(64);
               if ((quantizationTableSpec >> 4) === 0) { // 8 bit values
-                for (j = 0; j < 64; j++)
-                  tableData[j] = data[offset++];
+                for (j = 0; j < 64; j++) {
+                  var z = dctZigZag[j];
+                  tableData[z] = data[offset++];
+                }
               } else if ((quantizationTableSpec >> 4) === 1) { //16 bit
                   tableData[j] = readUint16();
               } else
@@ -634,8 +770,8 @@ var JpegImage = (function jpegImage() {
           // The adobe transform marker overrides any previous setting
           if (this.adobe && this.adobe.transformCode)
             colorTransform = true;
-          else if (typeof this.colorTransform != -1)
-            colorTransform = this.colorTransform == true;
+          else if (typeof this.colorTransform !== 'undefined')
+            colorTransform = !!this.colorTransform;
 
           component1 = this.components[0];
           component2 = this.components[1];
@@ -673,8 +809,8 @@ var JpegImage = (function jpegImage() {
           // The adobe transform marker overrides any previous setting
           if (this.adobe && this.adobe.transformCode)
             colorTransform = true;
-          else if (typeof this.colorTransform != -1)
-            colorTransform = this.colorTransform == true;
+          else if (typeof this.colorTransform !== 'undefined')
+            colorTransform = !!this.colorTransform;
 
           component1 = this.components[0];
           component2 = this.components[1];
@@ -714,7 +850,60 @@ var JpegImage = (function jpegImage() {
       return data;
     },
     copyToImageData: function copyToImageData(imageData) {
-      this.getData(imageData.data, imageData.width, imageData.height);
+      var width = imageData.width, height = imageData.height;
+      var imageDataArray = imageData.data;
+      var data = this.getData(width, height);
+      var i = 0, j = 0, x, y;
+      var Y, K, C, M, R, G, B;
+      switch (this.components.length) {
+        case 1:
+          for (y = 0; y < height; y++) {
+            for (x = 0; x < width; x++) {
+              Y = data[i++];
+
+              imageDataArray[j++] = Y;
+              imageDataArray[j++] = Y;
+              imageDataArray[j++] = Y;
+              imageDataArray[j++] = 255;
+            }
+          }
+          break;
+        case 3:
+          for (y = 0; y < height; y++) {
+            for (x = 0; x < width; x++) {
+              R = data[i++];
+              G = data[i++];
+              B = data[i++];
+
+              imageDataArray[j++] = R;
+              imageDataArray[j++] = G;
+              imageDataArray[j++] = B;
+              imageDataArray[j++] = 255;
+            }
+          }
+          break;
+        case 4:
+          for (y = 0; y < height; y++) {
+            for (x = 0; x < width; x++) {
+              C = data[i++];
+              M = data[i++];
+              Y = data[i++];
+              K = data[i++];
+
+              R = 255 - clampTo8bit(C * (1 - K / 255) + K);
+              G = 255 - clampTo8bit(M * (1 - K / 255) + K);
+              B = 255 - clampTo8bit(Y * (1 - K / 255) + K);
+
+              imageDataArray[j++] = R;
+              imageDataArray[j++] = G;
+              imageDataArray[j++] = B;
+              imageDataArray[j++] = 255;
+            }
+          }
+          break;
+        default:
+          throw 'Unsupported color mode';
+      }
     }
   };
 
diff --git a/src/stream.js b/src/stream.js
index c7b5c8121..559fb2ca2 100644
--- a/src/stream.js
+++ b/src/stream.js
@@ -830,7 +830,8 @@ var JpegStream = (function jpegStream() {
   constructor.prototype.ensureBuffer = function jpegStreamEnsureBuffer(req) {
     if (this.bufferLength)
       return;
-    var jpegImage = new JpegImage(this.colorTransform);
+    var jpegImage = new JpegImage();
+    jpegImage.colorTransform = this.colorTransform;
     jpegImage.parse(this.bytes);
     var width = jpegImage.width;
     var height = jpegImage.height;

From 709dc1a0c9f334d5079c03feb69323bec1c21372 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Thu, 24 Nov 2011 09:38:09 -0600
Subject: [PATCH 29/68] Initial ToUnicode modifications

---
 src/canvas.js    |  8 +++-----
 src/evaluator.js | 16 +++++++++++++---
 src/fonts.js     | 41 +++++++++++++++++++++++++++++++++++++++--
 3 files changed, 55 insertions(+), 10 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 9b3ed0ba9..8d6fb046d 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -474,13 +474,11 @@ var CanvasGraphics = (function canvasGraphics() {
             continue;
           }
 
-          var unicode = glyph.unicode;
-          var char = (unicode >= 0x10000) ?
-            String.fromCharCode(0xD800 | ((unicode - 0x10000) >> 10),
-            0xDC00 | (unicode & 0x3FF)) : String.fromCharCode(unicode);
-
+          var char = glyph.fontChar;
           ctx.fillText(char, width, 0);
           width += glyph.width * fontSize * 0.001 + charSpacing;
+
+          // TODO actual characters can be extracted from the glyph.unicode
         }
         current.x += width;
 
diff --git a/src/evaluator.js b/src/evaluator.js
index a863a531e..03fce2d9a 100644
--- a/src/evaluator.js
+++ b/src/evaluator.js
@@ -512,6 +512,7 @@ var PartialEvaluator = (function partialEvaluator() {
           error('Encoding is not a Name nor a Dict');
         }
       }
+
       properties.differences = differences;
       properties.baseEncoding = baseEncoding;
       properties.hasEncoding = hasEncoding;
@@ -595,9 +596,18 @@ var PartialEvaluator = (function partialEvaluator() {
             }
           } else if (byte == 0x3E) {
             if (token.length) {
-              // parsing hex number
-              tokens.push(parseInt(token, 16));
-              token = '';
+              if (token.length <= 4) {
+                // parsing hex number
+                tokens.push(parseInt(token, 16));
+                token = '';
+              } else {
+                // parsing hex UTF-16BE numbers
+                var str = [];
+                for (var i = 0, ii = token.length; i < ii; i += 4)
+                  str.push(parseInt(token.substr(i, 4), 16));
+                tokens.push(String.fromCharCode.apply(String, str));
+                token = '';
+              }
             }
           } else {
             token += String.fromCharCode(byte);
diff --git a/src/fonts.js b/src/fonts.js
index 116bb4dfc..d028a9786 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -771,7 +771,6 @@ var Font = (function Font() {
     this.widths = properties.widths;
     this.defaultWidth = properties.defaultWidth;
     this.composite = properties.composite;
-    this.toUnicode = properties.toUnicode;
     this.hasEncoding = properties.hasEncoding;
 
     this.fontMatrix = properties.fontMatrix;
@@ -781,6 +780,11 @@ var Font = (function Font() {
     // Trying to fix encoding using glyph CIDSystemInfo.
     this.loadCidToUnicode(properties);
 
+    if (properties.toUnicode)
+      this.toUnicode = properties.toUnicode;
+    else
+      this.rebuildToUnicode(properties);
+
     if (!file) {
       // The file data is not specified. Trying to fix the font name
       // to be used with the canvas.font.
@@ -1898,6 +1902,29 @@ var Font = (function Font() {
       return stringToArray(otf.file);
     },
 
+    rebuildToUnicode: function font_rebuildToUnicode(properties) {
+      var map = [];
+      if (properties.composite) {
+        for (var i = properties.firstChar, ii = properties.lastChar; i <= ii; i++) {
+          // TODO missing map the character according font's CMap
+          var cid = i;
+          map[i] = this.cidToUnicode[cid];
+        }
+      } else {
+        for (var i = properties.firstChar, ii = properties.lastChar; i <= ii; i++) {
+          var glyph = properties.differences[i];
+          if (!glyph)
+            glyph = properties.baseEncoding[i];
+          if (!!glyph && (glyph in GlyphsUnicode))
+            map[i] = GlyphsUnicode[glyph]
+        }
+      }
+      this.toUnicode = map;
+      this.refreshToUnicode = function refreshToUnicode() {
+        this.font_rebuildToUnicode(properties);
+      };
+    },
+
     loadCidToUnicode: function font_loadCidToUnicode(properties) {
       if (properties.cidToGidMap) {
         this.cidToUnicode = properties.cidToGidMap;
@@ -2039,8 +2066,18 @@ var Font = (function Font() {
           warn('Unsupported font type: ' + this.type);
           break;
       }
+
+      var unicodeChars = this.toUnicode ? this.toUnicode[charcode] : charcode;
+      if (typeof unicodeChars === 'number') {
+        unicodeChars = (unicodeChars >= 0x10000) ?
+            String.fromCharCode(0xD800 | ((unicodeChars - 0x10000) >> 10),
+            0xDC00 | (unicodeChars & 0x3FF)) : String.fromCharCode(unicodeChars);
+        // TODO we probably don't need convert high/low surrogate... keeping for now
+      }
+
       return {
-        unicode: unicode,
+        fontChar: String.fromCharCode(unicode),
+        unicode: unicodeChars,
         width: isNum(width) ? width : this.defaultWidth,
         codeIRQueue: codeIRQueue
       };

From 868591554285c4577372b4a1478cf987aed76d15 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Thu, 24 Nov 2011 12:53:11 -0600
Subject: [PATCH 30/68] Re-using the pages as thumbnails

---
 web/viewer.js | 58 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 50 insertions(+), 8 deletions(-)

diff --git a/web/viewer.js b/web/viewer.js
index bfb3a4303..c8b830431 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -193,6 +193,13 @@ var PDFView = {
   },
 
   load: function pdfViewLoad(data, scale) {
+    function bindOnAfterDraw(pageView, thumbnailView) {
+      // when page is painted, using the image as thumbnail base
+      pageView.onAfterDraw = function pdfViewLoadOnAfterDraw() {
+        thumbnailView.setImage(pageView.canvas);
+      };
+    }
+
     var loadingIndicator = document.getElementById('loading');
     loadingIndicator.setAttribute('hidden', 'true');
 
@@ -219,10 +226,14 @@ var PDFView = {
     var thumbnails = this.thumbnails = [];
     for (var i = 1; i <= pagesCount; i++) {
       var page = pdf.getPage(i);
-      pages.push(new PageView(container, page, i, page.width, page.height,
-                              page.stats, this.navigateTo.bind(this)));
-      thumbnails.push(new ThumbnailView(sidebar, page, i,
-                                        page.width / page.height));
+      var pageView = new PageView(container, page, i, page.width, page.height,
+                                  page.stats, this.navigateTo.bind(this));
+      var thumbnailView = new ThumbnailView(sidebar, page, i,
+                                            page.width / page.height);
+      bindOnAfterDraw(pageView, thumbnailView);
+
+      pages.push(pageView);
+      thumbnails.push(thumbnailView);
       var pageRef = page.ref;
       pagesRefMap[pageRef.num + ' ' + pageRef.gen + ' R'] = i;
     }
@@ -360,6 +371,8 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     while (div.hasChildNodes())
       div.removeChild(div.lastChild);
     div.removeAttribute('data-loaded');
+
+    delete this.canvas;
   };
 
   function setupLinks(content, scale) {
@@ -474,6 +487,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     canvas.id = 'page' + this.id;
     canvas.mozOpaque = true;
     div.appendChild(canvas);
+    this.canvas = canvas;
 
     var scale = this.scale;
     canvas.width = pageWidth * scale;
@@ -487,7 +501,11 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     ctx.translate(-this.x * scale, -this.y * scale);
 
     stats.begin = Date.now();
-    this.content.startRendering(ctx, this.updateStats);
+    this.content.startRendering(ctx, (function pageViewDrawCallback() {
+      this.updateStats();
+      if (this.onAfterDraw)
+        this.onAfterDraw();
+    }).bind(this));
 
     setupLinks(this.content, this.scale);
     div.setAttribute('data-loaded', true);
@@ -518,10 +536,9 @@ var ThumbnailView = function thumbnailView(container, page, id, pageRatio) {
   anchor.appendChild(div);
   container.appendChild(anchor);
 
-  this.draw = function thumbnailViewDraw() {
-    if (div.hasChildNodes())
-      return;
+  this.hasImage = false;
 
+  function getPageDrawContext() {
     var canvas = document.createElement('canvas');
     canvas.id = 'thumbnail' + id;
     canvas.mozOpaque = true;
@@ -549,7 +566,28 @@ var ThumbnailView = function thumbnailView(container, page, id, pageRatio) {
     div.style.height = (view.height * scaleY) + 'px';
     div.style.lineHeight = (view.height * scaleY) + 'px';
 
+    return ctx;
+  }
+
+  this.draw = function thumbnailViewDraw() {
+    if (this.hasImage)
+      return;
+
+    var ctx = getPageDrawContext();
     page.startRendering(ctx, function thumbnailViewDrawStartRendering() {});
+
+    this.hasImage = true;
+  };
+
+  this.setImage = function thumbnailViewSetImage(img) {
+    if (this.hasImage)
+      return;
+
+    var ctx = getPageDrawContext();
+    ctx.drawImage(img, 0, 0, img.width, img.height,
+                  0, 0, ctx.canvas.width, ctx.canvas.height);
+
+    this.hasImage = true;
   };
 };
 
@@ -687,6 +725,10 @@ window.addEventListener('transitionend', function webViewerTransitionend(evt) {
 
   var container = document.getElementById('sidebarView');
   container._interval = window.setInterval(function interval() {
+    // skipping the thumbnails with set images
+    while (pageIndex < pagesCount && PDFView.thumbnails[pageIndex].hasImage)
+      pageIndex++;
+
     if (pageIndex >= pagesCount) {
       window.clearInterval(container._interval);
       return;

From a30f0ff848beb8d205c9e4c061973f5955181f79 Mon Sep 17 00:00:00 2001
From: Julian Viereck <julian.viereck@gmail.com>
Date: Tue, 22 Nov 2011 21:00:04 +0100
Subject: [PATCH 31/68] Implement ctx.mozCurrentTransform and
 ctx.mozCurrentTransformInverse shim

---
 src/canvas.js  | 109 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/pattern.js |   2 +
 2 files changed, 111 insertions(+)

diff --git a/src/canvas.js b/src/canvas.js
index 9b3ed0ba9..d9c60f416 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -59,6 +59,111 @@ function ScratchCanvas(width, height) {
   return canvas;
 }
 
+function addCtxCurrentTransform(ctx) {
+  // If the context doesn't expose a `mozCurrentTransform`, add a JS based on.
+  if (!ctx.mozCurrentTransform) {
+    // Store the original context
+    ctx._originalSave = ctx.save;
+    ctx._originalRestore = ctx.restore;
+    ctx._originalRotate = ctx.rotate;
+    ctx._originalScale = ctx.scale;
+    ctx._originalTranslate = ctx.translate;
+    ctx._originalTransform = ctx.transform;
+
+    ctx._transformMatrix = [1, 0, 0, 1, 0, 0];
+    ctx._transformStack = [];
+
+    ctx.__defineGetter__('mozCurrentTransform', function getCurrentTransform() {
+      return this._transformMatrix;
+    });
+
+    ctx.__defineGetter__('mozCurrentTransformInverse',
+      function getCurrentTransformInverse() {
+        // Calculation done using WolframAlpha:
+        // http://www.wolframalpha.com/input/?
+        //   i=Inverse+{{a%2C+c%2C+e}%2C+{b%2C+d%2C+f}%2C+{0%2C+0%2C+1}}
+
+        var m = this._transformMatrix;
+        var a = m[0], b = m[1], c = m[2], d = m[3], e = m[4], f = m[5];
+
+        return [
+          d / (a * d - b * c),
+          b / (b * c - a * d),
+          c / (b * c - a * d),
+          a / (a * d - b * c),
+          (d * e - c * f) / (b * c - a * d),
+          (b * e - a * f) / (a * d - b * c)
+        ];
+      }
+    );
+
+    ctx.save = function ctxSave() {
+      var old = this._transformMatrix;
+      this._transformStack.push(old);
+      this._transformMatrix = old.slice(0, 6);
+
+      this._originalSave();
+    };
+
+    ctx.restore = function ctxRestore() {
+      var prev = this._transformStack.pop();
+      if (prev) {
+        this._transformMatrix = prev;
+        this._originalRestore();
+      }
+    }
+
+    ctx.translate = function ctxTranslate(x, y) {
+      var m = this._transformMatrix;
+      m[4] = m[0] * x + m[2] * y + m[4];
+      m[5] = m[1] * x + m[3] * y + m[5];
+
+      this._originalTranslate(x, y);
+    }
+
+    ctx.scale = function ctxScale(x, y) {
+      var m = this._transformMatrix;
+      m[0] = m[0] * x;
+      m[1] = m[1] * x;
+      m[2] = m[2] * y;
+      m[3] = m[3] * y;
+
+      this._originalScale(x, y);
+    }
+
+    ctx.transform = function ctxTransform(a, b, c, d, e, f) {
+      var m = this._transformMatrix;
+      this._transformMatrix = [
+        m[0] * a + m[2] * b,
+        m[1] * a + m[3] * b,
+        m[0] * c + m[2] * d,
+        m[1] * c + m[3] * d,
+        m[0] * e + m[2] * f + m[4],
+        m[1] * e + m[3] * f + m[5]
+      ];
+
+      ctx._originalTransform(a, b, c, d, e, f);
+    }
+
+    ctx.rotate = function ctxRotate(angle) {
+      var cosValue = Math.cos(angle);
+      var sinValue = Math.sin(angle);
+
+      var m = this._transformMatrix;
+      this._transformMatrix = [
+        m[0] * cosValue + m[2] * sinValue,
+        m[1] * cosValue + m[3] * sinValue,
+        m[0] * (-sinValue) + m[2] * cosValue,
+        m[1] * (-sinValue) + m[3] * cosValue,
+        m[4],
+        m[5]
+      ];
+
+      this._originalRotate(angle);
+    }
+  }
+}
+
 var CanvasGraphics = (function canvasGraphics() {
   // Defines the time the executeIRQueue is going to be executing
   // before it stops and shedules a continue of execution.
@@ -77,6 +182,10 @@ var CanvasGraphics = (function canvasGraphics() {
     this.xobjs = null;
     this.ScratchCanvas = ScratchCanvas;
     this.objs = objs;
+
+    if (canvasCtx) {
+      addCtxCurrentTransform(canvasCtx);
+    }
   }
 
   var LINE_CAP_STYLES = ['butt', 'round', 'square'];
diff --git a/src/pattern.js b/src/pattern.js
index 72d13d896..c565e8b7f 100644
--- a/src/pattern.js
+++ b/src/pattern.js
@@ -217,6 +217,8 @@ var TilingPattern = (function tilingPattern() {
 
     // set the new canvas element context as the graphics context
     var tmpCtx = tmpCanvas.getContext('2d');
+    addCtxCurrentTransform(tmpCtx);
+
     var graphics = new CanvasGraphics(tmpCtx, objs);
 
     switch (paintType) {

From 36e618c373f718320faa0540536263a7c37068f9 Mon Sep 17 00:00:00 2001
From: Julian Viereck <julian.viereck@gmail.com>
Date: Sun, 27 Nov 2011 09:22:08 +0100
Subject: [PATCH 32/68] Address Yury's review comments + remove call to
 addCtxCurrentTransform in pattern.js as the contet is added during the
 CanvasGraphics constructor already

---
 src/canvas.js  | 41 +++++++++++++++++++++++------------------
 src/pattern.js |  2 --
 2 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index d9c60f416..035651b0f 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -59,7 +59,7 @@ function ScratchCanvas(width, height) {
   return canvas;
 }
 
-function addCtxCurrentTransform(ctx) {
+function addContextCurrentTransform(ctx) {
   // If the context doesn't expose a `mozCurrentTransform`, add a JS based on.
   if (!ctx.mozCurrentTransform) {
     // Store the original context
@@ -73,12 +73,14 @@ function addCtxCurrentTransform(ctx) {
     ctx._transformMatrix = [1, 0, 0, 1, 0, 0];
     ctx._transformStack = [];
 
-    ctx.__defineGetter__('mozCurrentTransform', function getCurrentTransform() {
-      return this._transformMatrix;
+    Object.defineProperty(ctx, 'mozCurrentTransform', {
+      get: function getCurrentTransform() {
+        return this._transformMatrix;
+      }
     });
 
-    ctx.__defineGetter__('mozCurrentTransformInverse',
-      function getCurrentTransformInverse() {
+    Object.defineProperty(ctx, 'mozCurrentTransformInverse', {
+      get: function getCurrentTransformInverse() {
         // Calculation done using WolframAlpha:
         // http://www.wolframalpha.com/input/?
         //   i=Inverse+{{a%2C+c%2C+e}%2C+{b%2C+d%2C+f}%2C+{0%2C+0%2C+1}}
@@ -86,16 +88,19 @@ function addCtxCurrentTransform(ctx) {
         var m = this._transformMatrix;
         var a = m[0], b = m[1], c = m[2], d = m[3], e = m[4], f = m[5];
 
+        var ad_bc = a * d - b * c;
+        var bc_ad = b * c - a * d;
+
         return [
-          d / (a * d - b * c),
-          b / (b * c - a * d),
-          c / (b * c - a * d),
-          a / (a * d - b * c),
-          (d * e - c * f) / (b * c - a * d),
-          (b * e - a * f) / (a * d - b * c)
+          d / ad_bc,
+          b / bc_ad,
+          c / bc_ad,
+          a / ad_bc,
+          (d * e - c * f) / bc_ad,
+          (b * e - a * f) / ad_bc
         ];
       }
-    );
+    });
 
     ctx.save = function ctxSave() {
       var old = this._transformMatrix;
@@ -111,7 +116,7 @@ function addCtxCurrentTransform(ctx) {
         this._transformMatrix = prev;
         this._originalRestore();
       }
-    }
+    };
 
     ctx.translate = function ctxTranslate(x, y) {
       var m = this._transformMatrix;
@@ -119,7 +124,7 @@ function addCtxCurrentTransform(ctx) {
       m[5] = m[1] * x + m[3] * y + m[5];
 
       this._originalTranslate(x, y);
-    }
+    };
 
     ctx.scale = function ctxScale(x, y) {
       var m = this._transformMatrix;
@@ -129,7 +134,7 @@ function addCtxCurrentTransform(ctx) {
       m[3] = m[3] * y;
 
       this._originalScale(x, y);
-    }
+    };
 
     ctx.transform = function ctxTransform(a, b, c, d, e, f) {
       var m = this._transformMatrix;
@@ -143,7 +148,7 @@ function addCtxCurrentTransform(ctx) {
       ];
 
       ctx._originalTransform(a, b, c, d, e, f);
-    }
+    };
 
     ctx.rotate = function ctxRotate(angle) {
       var cosValue = Math.cos(angle);
@@ -160,7 +165,7 @@ function addCtxCurrentTransform(ctx) {
       ];
 
       this._originalRotate(angle);
-    }
+    };
   }
 }
 
@@ -184,7 +189,7 @@ var CanvasGraphics = (function canvasGraphics() {
     this.objs = objs;
 
     if (canvasCtx) {
-      addCtxCurrentTransform(canvasCtx);
+      addContextCurrentTransform(canvasCtx);
     }
   }
 
diff --git a/src/pattern.js b/src/pattern.js
index c565e8b7f..72d13d896 100644
--- a/src/pattern.js
+++ b/src/pattern.js
@@ -217,8 +217,6 @@ var TilingPattern = (function tilingPattern() {
 
     // set the new canvas element context as the graphics context
     var tmpCtx = tmpCanvas.getContext('2d');
-    addCtxCurrentTransform(tmpCtx);
-
     var graphics = new CanvasGraphics(tmpCtx, objs);
 
     switch (paintType) {

From 8991cfad83768f3d73152ccf8ad1c59c595afa53 Mon Sep 17 00:00:00 2001
From: Julian Viereck <julian.viereck@gmail.com>
Date: Sun, 27 Nov 2011 20:54:25 +0100
Subject: [PATCH 33/68] Check after each executed command if execution took too
 long already

---
 src/canvas.js | 40 +++++++++++++++++++---------------------
 1 file changed, 19 insertions(+), 21 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 9b3ed0ba9..780a96c9b 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -64,10 +64,6 @@ var CanvasGraphics = (function canvasGraphics() {
   // before it stops and shedules a continue of execution.
   var kExecutionTime = 50;
 
-  // Number of IR commands to execute before checking
-  // if we execute longer then `kExecutionTime`.
-  var kExecutionTimeCheck = 500;
-
   function constructor(canvasCtx, objs) {
     this.ctx = canvasCtx;
     this.current = new CanvasExtraState();
@@ -112,31 +108,33 @@ var CanvasGraphics = (function canvasGraphics() {
       var i = executionStartIdx || 0;
       var argsArrayLen = argsArray.length;
 
+      // Sometimes the IRQueue to execute is empty.
+      if (argsArrayLen == i) {
+        return i;
+      }
+
       var executionEndIdx;
       var startTime = Date.now();
 
       var objs = this.objs;
 
-      do {
-        executionEndIdx = Math.min(argsArrayLen, i + kExecutionTimeCheck);
+      while (true) {
+        if (fnArray[i] !== 'dependency') {
+          this[fnArray[i]].apply(this, argsArray[i]);
+        } else {
+          var deps = argsArray[i];
+          for (var n = 0, nn = deps.length; n < nn; n++) {
+            var depObjId = deps[n];
 
-        for (i; i < executionEndIdx; i++) {
-          if (fnArray[i] !== 'dependency') {
-            this[fnArray[i]].apply(this, argsArray[i]);
-          } else {
-            var deps = argsArray[i];
-            for (var n = 0, nn = deps.length; n < nn; n++) {
-              var depObjId = deps[n];
-
-              // If the promise isn't resolved yet, add the continueCallback
-              // to the promise and bail out.
-              if (!objs.isResolved(depObjId)) {
-                objs.get(depObjId, continueCallback);
-                return i;
-              }
+            // If the promise isn't resolved yet, add the continueCallback
+            // to the promise and bail out.
+            if (!objs.isResolved(depObjId)) {
+              objs.get(depObjId, continueCallback);
+              return i;
             }
           }
         }
+        i++;
 
         // If the entire IRQueue was executed, stop as were done.
         if (i == argsArrayLen) {
@@ -153,7 +151,7 @@ var CanvasGraphics = (function canvasGraphics() {
 
         // If the IRQueue isn't executed completly yet OR the execution time
         // was short enough, do another execution round.
-      } while (true);
+      }
     },
 
     endDrawing: function canvasGraphicsEndDrawing() {

From 08e3fd88ada78c094dfbe527854264b2c1c4dbb8 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Sun, 27 Nov 2011 20:43:23 -0600
Subject: [PATCH 34/68] Removing adaptUnicode; making cmap equal to ToUnicode
 tables

---
 src/evaluator.js |  18 ++-
 src/fonts.js     | 277 +++++++++++++++++++++++++++--------------------
 2 files changed, 172 insertions(+), 123 deletions(-)

diff --git a/src/evaluator.js b/src/evaluator.js
index 03fce2d9a..3e687c72d 100644
--- a/src/evaluator.js
+++ b/src/evaluator.js
@@ -555,9 +555,21 @@ var PartialEvaluator = (function partialEvaluator() {
                   var startRange = tokens[j];
                   var endRange = tokens[j + 1];
                   var code = tokens[j + 2];
-                  while (startRange <= endRange) {
-                    charToUnicode[startRange] = code++;
-                    ++startRange;
+                  if (code == 0xFFFF) {
+                    // CMap is broken, assuming code == startRange
+                    code = startRange;
+                  }
+                  if (isArray(code)) {
+                    var codeindex = 0;
+                    while (startRange <= endRange) {
+                      charToUnicode[startRange] = code[codeindex++];
+                      ++startRange;
+                    }
+                  } else {
+                    while (startRange <= endRange) {
+                      charToUnicode[startRange] = code++;
+                      ++startRange;
+                    }
                   }
                 }
                 break;
diff --git a/src/fonts.js b/src/fonts.js
index d028a9786..fb9bb9f0c 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -719,20 +719,10 @@ function getUnicodeRangeFor(value) {
   return -1;
 }
 
-function adaptUnicode(unicode) {
-  return (unicode <= 0x1F || (unicode >= 127 && unicode < kSizeOfGlyphArea)) ?
-    unicode + kCmapGlyphOffset : unicode;
-}
-
-function isAdaptedUnicode(unicode) {
-  return unicode >= kCmapGlyphOffset &&
-    unicode < kCmapGlyphOffset + kSizeOfGlyphArea;
-}
-
 function isSpecialUnicode(unicode) {
   return (unicode <= 0x1F || (unicode >= 127 && unicode < kSizeOfGlyphArea)) ||
-    unicode >= kCmapGlyphOffset &&
-    unicode < kCmapGlyphOffset + kSizeOfGlyphArea;
+    (unicode >= kCmapGlyphOffset &&
+    unicode < kCmapGlyphOffset + kSizeOfGlyphArea);
 }
 
 /**
@@ -965,15 +955,15 @@ var Font = (function Font() {
     var ranges = [];
     for (var n = 0; n < length; ) {
       var start = codes[n].unicode;
-      var startCode = codes[n].code;
+      var codeIndices = [codes[n].code];
       ++n;
       var end = start;
       while (n < length && end + 1 == codes[n].unicode) {
+        codeIndices.push(codes[n].code);
         ++end;
         ++n;
       }
-      var endCode = codes[n - 1].code;
-      ranges.push([start, end, startCode, endCode]);
+      ranges.push([start, end, codeIndices]);
     }
 
     return ranges;
@@ -1016,17 +1006,16 @@ var Font = (function Font() {
         idDeltas += string16(0);
         idRangeOffsets += string16(offset);
 
-        var startCode = range[2];
-        var endCode = range[3];
-        for (var j = startCode; j <= endCode; ++j)
-          glyphsIds += string16(deltas[j]);
+        var codes = range[2];
+        for (var j = 0, jj = codes.length; j < jj; ++j)
+          glyphsIds += string16(deltas[codes[j]]);
       }
     } else {
       for (var i = 0; i < segCount - 1; i++) {
         var range = ranges[i];
         var start = range[0];
         var end = range[1];
-        var startCode = range[2];
+        var startCode = range[2][0];
 
         startCount += string16(start);
         endCount += string16(end);
@@ -1303,7 +1292,7 @@ var Font = (function Font() {
           properties.baseEncoding = encoding;
       }
 
-      function replaceCMapTable(cmap, font, properties) {
+      function readCMapTable(cmap, font) {
         var start = (font.start ? font.start : 0) + cmap.offset;
         font.pos = start;
 
@@ -1320,7 +1309,7 @@ var Font = (function Font() {
         }
 
         // Check that table are sorted by platformID then encodingID,
-        records.sort(function fontReplaceCMapTableSort(a, b) {
+        records.sort(function fontReadCMapTableSort(a, b) {
           return ((a.platformID << 16) + a.encodingID) -
                  ((b.platformID << 16) + b.encodingID);
         });
@@ -1375,16 +1364,15 @@ var Font = (function Font() {
             for (var j = 0; j < 256; j++) {
               var index = font.getByte();
               if (index) {
-                var unicode = adaptUnicode(j);
-                glyphs.push({ unicode: unicode, code: j });
+                glyphs.push({ unicode: j, code: j });
                 ids.push(index);
               }
             }
-
-            properties.hasShortCmap = true;
-
-            createGlyphNameMap(glyphs, ids, properties);
-            return cmap.data = createCMapTable(glyphs, ids);
+            return {
+              glyphs: glyphs,
+              ids: ids,
+              hasShortCmap: true
+            };
           } else if (format == 4) {
             // re-creating the table in format 4 since the encoding
             // might be changed
@@ -1436,17 +1424,18 @@ var Font = (function Font() {
                 var glyphCode = offsetIndex < 0 ? j :
                   offsets[offsetIndex + j - start];
                 glyphCode = (glyphCode + delta) & 0xFFFF;
-                if (glyphCode == 0 || isAdaptedUnicode(j))
+                if (glyphCode == 0)
                   continue;
 
-                var unicode = adaptUnicode(j);
-                glyphs.push({ unicode: unicode, code: j });
+                glyphs.push({ unicode: j, code: j });
                 ids.push(glyphCode);
               }
             }
 
-            createGlyphNameMap(glyphs, ids, properties);
-            return cmap.data = createCMapTable(glyphs, ids);
+            return {
+              glyphs: glyphs,
+              ids: ids
+            };
           } else if (format == 6) {
             // Format 6 is a 2-bytes dense mapping, which means the font data
             // lives glue together even if they are pretty far in the unicode
@@ -1461,19 +1450,18 @@ var Font = (function Font() {
             for (var j = 0; j < entryCount; j++) {
               var glyphCode = int16(font.getBytes(2));
               var code = firstCode + j;
-              if (isAdaptedUnicode(glyphCode))
-                continue;
 
-              var unicode = adaptUnicode(code);
-              glyphs.push({ unicode: unicode, code: code });
+              glyphs.push({ unicode: code, code: code });
               ids.push(glyphCode);
             }
 
-            createGlyphNameMap(glyphs, ids, properties);
-            return cmap.data = createCMapTable(glyphs, ids);
+            return {
+              glyphs: glyphs,
+              ids: ids
+            };
           }
         }
-        return cmap.data;
+        error('Unsupported cmap table format');
       };
 
       function sanitizeMetrics(font, header, metrics, numGlyphs) {
@@ -1712,17 +1700,60 @@ var Font = (function Font() {
           tables.push(cmap);
         }
 
-        var glyphs = [];
+        var glyphs = [], ids = [];
+        var usedUnicodes = [], unusedUnicode = kCmapGlyphOffset;
+        var cidToGidMap = properties.cidToGidMap;
         for (i = 1; i < numGlyphs; i++) {
-          if (isAdaptedUnicode(i))
-            continue;
-
-          glyphs.push({ unicode: adaptUnicode(i) });
+          var cid = cidToGidMap ? cidToGidMap.indexOf(i) : i;
+          var unicode = this.toUnicode[cid];
+          if (!unicode || isSpecialUnicode(unicode) ||
+              unicode in usedUnicodes) {
+            // overriding the special special symbols mapping
+            while (unusedUnicode in usedUnicodes)
+              unusedUnicode++;
+            this.toUnicode[cid] = unicode = unusedUnicode++;
+            if (unusedUnicode >= kCmapGlyphOffset + kSizeOfGlyphArea) {
+              // overflow of the user defined symblos range
+              // using symbols that a little bit lower than this range
+              unusedUnicode = kCmapGlyphOffset - numGlyphs;
+            }
+          }
+          usedUnicodes[unicode] = true;
+          glyphs.push({ unicode: unicode, code: cid });
+          ids.push(i);
         }
-        cmap.data = createCMapTable(glyphs);
+        cmap.data = createCMapTable(glyphs, ids);
       } else {
-        replaceCMapTable(cmap, font, properties);
+        var cmapTable = readCMapTable(cmap, font);
+        var glyphs = cmapTable.glyphs;
+        var ids = cmapTable.ids;
+        var hasShortCmap = !!cmapTable.hasShortCmap;
+        var toUnicode = this.toUnicode;
+
+        if (hasShortCmap && toUnicode) {
+          // checking if cmap is just identity map
+          var isIdentity = true;
+          for (var i = 0, ii = glyphs.length; i < ii; i++) {
+            if (glyphs[i].unicode != i + 1) {
+              isIdentity = false;
+              break;
+            }
+          }
+          // if it is, replacing with meaningful toUnicode values
+          if (isIdentity) {
+            for (var i = 0, ii = glyphs.length; i < ii; i++) {
+              var unicode = toUnicode[i + 1] || i + 1;
+              glyphs[i].unicode = unicode;
+            }
+            this.useToUnicode = true;
+          }
+        }
+        properties.hasShortCmap = hasShortCmap;
+
+        createGlyphNameMap(glyphs, ids, properties);
         this.glyphNameMap = properties.glyphNameMap;
+
+        cmap.data = createCMapTable(glyphs, ids);
       }
 
       // Rewrite the 'post' table if needed
@@ -1812,6 +1843,14 @@ var Font = (function Font() {
         }
         properties.baseEncoding = encoding;
       }
+      if (properties.subtype == 'CIDFontType0C') {
+        var toUnicode = [];
+        for (var i = 0; i < charstrings.length; ++i) {
+          var charstring = charstrings[i];
+          toUnicode[charstring.code] = charstring.unicode;
+        }
+        this.toUnicode = toUnicode;
+      }
 
       var fields = {
         // PostScript Font Program
@@ -1872,8 +1911,11 @@ var Font = (function Font() {
         // Horizontal metrics
         'hmtx': (function fontFieldsHmtx() {
           var hmtx = '\x00\x00\x00\x00'; // Fake .notdef
-          for (var i = 0, ii = charstrings.length; i < ii; i++)
-            hmtx += string16(charstrings[i].width) + string16(0);
+          for (var i = 0, ii = charstrings.length; i < ii; i++) {
+            var charstring = charstrings[i];
+            var width = 'width' in charstring ? charstring.width : 0;
+            hmtx += string16(width) + string16(0);
+          }
           return stringToArray(hmtx);
         })(),
 
@@ -1903,20 +1945,22 @@ var Font = (function Font() {
     },
 
     rebuildToUnicode: function font_rebuildToUnicode(properties) {
+      var firstChar = properties.firstChar, lastChar = properties.lastChar;
       var map = [];
       if (properties.composite) {
-        for (var i = properties.firstChar, ii = properties.lastChar; i <= ii; i++) {
+        var isIdentityMap = this.cidToUnicode.length == 0;
+        for (var i = firstChar, ii = lastChar; i <= ii; i++) {
           // TODO missing map the character according font's CMap
           var cid = i;
-          map[i] = this.cidToUnicode[cid];
+          map[i] = isIdentityMap ? cid : this.cidToUnicode[cid];
         }
       } else {
-        for (var i = properties.firstChar, ii = properties.lastChar; i <= ii; i++) {
+        for (var i = firstChar, ii = lastChar; i <= ii; i++) {
           var glyph = properties.differences[i];
           if (!glyph)
             glyph = properties.baseEncoding[i];
           if (!!glyph && (glyph in GlyphsUnicode))
-            map[i] = GlyphsUnicode[glyph]
+            map[i] = GlyphsUnicode[glyph];
         }
       }
       this.toUnicode = map;
@@ -1926,16 +1970,12 @@ var Font = (function Font() {
     },
 
     loadCidToUnicode: function font_loadCidToUnicode(properties) {
-      if (properties.cidToGidMap) {
-        this.cidToUnicode = properties.cidToGidMap;
-        return;
-      }
-
       if (!properties.cidSystemInfo)
         return;
 
-      var cidToUnicodeMap = [];
+      var cidToUnicodeMap = [], unicodeToCIDMap = [];
       this.cidToUnicode = cidToUnicodeMap;
+      this.unicodeToCID = unicodeToCIDMap;
 
       var cidSystemInfo = properties.cidSystemInfo;
       var cidToUnicode;
@@ -1947,28 +1987,34 @@ var Font = (function Font() {
       if (!cidToUnicode)
         return; // identity encoding
 
-      var glyph = 1, i, j, k, ii;
+      var cid = 1, i, j, k, ii;
       for (i = 0, ii = cidToUnicode.length; i < ii; ++i) {
         var unicode = cidToUnicode[i];
         if (isArray(unicode)) {
           var length = unicode.length;
-          for (j = 0; j < length; j++)
-            cidToUnicodeMap[unicode[j]] = glyph;
-          glyph++;
+          for (j = 0; j < length; j++) {
+            cidToUnicodeMap[cid] = unicode[j];
+            unicodeToCIDMap[unicode[j]] = cid;
+          }
+          cid++;
         } else if (typeof unicode === 'object') {
           var fillLength = unicode.f;
           if (fillLength) {
             k = unicode.c;
             for (j = 0; j < fillLength; ++j) {
-              cidToUnicodeMap[k] = glyph++;
+              cidToUnicodeMap[cid] = k;
+              unicodeToCIDMap[k] = cid;
+              cid++;
               k++;
             }
           } else
-            glyph += unicode.s;
+            cid += unicode.s;
         } else if (unicode) {
-          cidToUnicodeMap[unicode] = glyph++;
+          cidToUnicodeMap[cid] = unicode;
+          unicodeToCIDMap[unicode] = cid;
+          cid++;
         } else
-          glyph++;
+          cid++;
       }
     },
 
@@ -2008,19 +2054,19 @@ var Font = (function Font() {
       switch (this.type) {
         case 'CIDFontType0':
           if (this.noUnicodeAdaptation) {
-            width = this.widths[this.cidToUnicode[charcode]];
+            width = this.widths[this.unicodeToCID[charcode] || charcode];
             unicode = charcode;
             break;
           }
-          unicode = adaptUnicode(this.cidToUnicode[charcode] || charcode);
+          unicode = this.toUnicode[charcode] || charcode;
           break;
         case 'CIDFontType2':
           if (this.noUnicodeAdaptation) {
-            width = this.widths[this.cidToUnicode[charcode]];
+            width = this.widths[this.unicodeToCID[charcode] || charcode];
             unicode = charcode;
             break;
           }
-          unicode = adaptUnicode(this.cidToUnicode[charcode] || charcode);
+          unicode = this.toUnicode[charcode] || charcode;
           break;
         case 'Type1':
           var glyphName = this.differences[charcode] || this.encoding[charcode];
@@ -2031,7 +2077,7 @@ var Font = (function Font() {
             break;
           }
           unicode = this.glyphNameMap[glyphName] ||
-            adaptUnicode(GlyphsUnicode[glyphName] || charcode);
+            GlyphsUnicode[glyphName] || charcode;
           break;
         case 'Type3':
           var glyphName = this.differences[charcode] || this.encoding[charcode];
@@ -2049,16 +2095,16 @@ var Font = (function Font() {
             break;
           }
           if (!this.hasEncoding) {
-            unicode = adaptUnicode(charcode);
+            unicode = this.useToUnicode ? this.toUnicode[charcode] : charcode;
             break;
           }
-          if (this.hasShortCmap) {
+          if (this.hasShortCmap && false) {
             var j = Encodings.MacRomanEncoding.indexOf(glyphName);
-            unicode = j >= 0 && !isSpecialUnicode(j) ? j :
+            unicode = j >= 0 ? j :
               this.glyphNameMap[glyphName];
           } else {
             unicode = glyphName in GlyphsUnicode ?
-              adaptUnicode(GlyphsUnicode[glyphName]) :
+              GlyphsUnicode[glyphName] :
               this.glyphNameMap[glyphName];
           }
           break;
@@ -2068,12 +2114,8 @@ var Font = (function Font() {
       }
 
       var unicodeChars = this.toUnicode ? this.toUnicode[charcode] : charcode;
-      if (typeof unicodeChars === 'number') {
-        unicodeChars = (unicodeChars >= 0x10000) ?
-            String.fromCharCode(0xD800 | ((unicodeChars - 0x10000) >> 10),
-            0xDC00 | (unicodeChars & 0x3FF)) : String.fromCharCode(unicodeChars);
-        // TODO we probably don't need convert high/low surrogate... keeping for now
-      }
+      if (typeof unicodeChars === 'number')
+        unicodeChars = String.fromCharCode(unicodeChars);
 
       return {
         fontChar: String.fromCharCode(unicode),
@@ -2790,22 +2832,13 @@ CFF.prototype = {
   getOrderedCharStrings: function cff_getOrderedCharStrings(glyphs,
                                                             properties) {
     var charstrings = [];
-    var reverseMapping = {};
-    var encoding = properties.baseEncoding;
     var i, length, glyphName;
-    for (i = 0, length = encoding.length; i < length; ++i) {
-      glyphName = encoding[i];
-      if (!glyphName || isSpecialUnicode(i))
-        continue;
-      reverseMapping[glyphName] = i;
-    }
-    reverseMapping['.notdef'] = 0;
     var unusedUnicode = kCmapGlyphOffset;
     for (i = 0, length = glyphs.length; i < length; i++) {
       var item = glyphs[i];
       var glyphName = item.glyph;
-      var unicode = glyphName in reverseMapping ?
-        reverseMapping[glyphName] : unusedUnicode++;
+      var unicode = glyphName in GlyphsUnicode ?
+        GlyphsUnicode[glyphName] : unusedUnicode++;
       charstrings.push({
         glyph: glyphName,
         unicode: unicode,
@@ -3092,16 +3125,14 @@ var Type2CFF = (function type2CFF() {
       }
 
       var charStrings = this.parseIndex(topDict.CharStrings);
-      var charset = this.parseCharsets(topDict.charset,
-                                       charStrings.length, strings);
-      var encoding = this.parseEncoding(topDict.Encoding, properties,
-                                             strings, charset);
 
       var charset, encoding;
       var isCIDFont = properties.subtype == 'CIDFontType0C';
       if (isCIDFont) {
-        charset = [];
-        charset.length = charStrings.length;
+        charset = ['.notdef'];
+        for (var i = 1, ii = charStrings.length; i < ii; ++i)
+          charset.push('glyph' + i);
+
         encoding = this.parseCidMap(topDict.charset,
                                     charStrings.length);
       } else {
@@ -3170,38 +3201,44 @@ var Type2CFF = (function type2CFF() {
       var charstrings = [];
       var unicodeUsed = [];
       var unassignedUnicodeItems = [];
+      var inverseEncoding = [];
+      for (var charcode in encoding)
+        inverseEncoding[encoding[charcode]] = charcode | 0;
       for (var i = 0, ii = charsets.length; i < ii; i++) {
         var glyph = charsets[i];
-        var encodingFound = false;
-        for (var charcode in encoding) {
-          if (encoding[charcode] == i) {
-            var code = charcode | 0;
-            charstrings.push({
-              unicode: adaptUnicode(code),
-              code: code,
-              gid: i,
-              glyph: glyph
-            });
-            unicodeUsed[code] = true;
-            encodingFound = true;
-            break;
-          }
+        if (glyph == '.notdef') {
+          charstrings.push({
+            unicode: 0,
+            code: 0,
+            gid: i,
+            glyph: glyph
+          });
+          continue;
         }
-        if (!encodingFound) {
+        var code = inverseEncoding[i];
+        if (!code || isSpecialUnicode(code)) {
           unassignedUnicodeItems.push(i);
+          continue;
         }
+        charstrings.push({
+          unicode: code,
+          code: code,
+          gid: i,
+          glyph: glyph
+        });
+        unicodeUsed[code] = true;
       }
 
-      var nextUnusedUnicode = 0x21;
+      var nextUnusedUnicode = kCmapGlyphOffset;
       for (var j = 0, jj = unassignedUnicodeItems.length; j < jj; ++j) {
         var i = unassignedUnicodeItems[j];
         // giving unicode value anyway
-        while (unicodeUsed[nextUnusedUnicode])
+        while (nextUnusedUnicode in unicodeUsed)
           nextUnusedUnicode++;
-        var code = nextUnusedUnicode++;
+        var unicode = nextUnusedUnicode++;
         charstrings.push({
-          unicode: adaptUnicode(code),
-          code: code,
+          unicode: unicode,
+          code: inverseEncoding[i] || 0,
           gid: i,
           glyph: charsets[i]
         });

From a1853185b16a69ac7eb8d22b3b276d467236c0aa Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Mon, 28 Nov 2011 09:25:25 -0500
Subject: [PATCH 35/68] Comments

---
 src/canvas.js  | 9 +++++++--
 src/metrics.js | 3 +++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 0107570d9..ab1422758 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -103,6 +103,7 @@ var CanvasGraphics = (function canvasGraphics() {
           this.ctx.transform(0, -1, -1, 0, cw, ch);
           break;
       }
+      // Scale so that canvas units are the same as PDF user space units
       this.ctx.scale(cw / mediaBox.width, ch / mediaBox.height);
       this.textDivs = [];
       this.textLayerQueue = [];
@@ -491,14 +492,18 @@ var CanvasGraphics = (function canvasGraphics() {
     pushTextDivs: function canvasGraphicsPushTextDivs(text) {
       var div = document.createElement('div');
       var fontSize = this.current.fontSize;
-      var fontHeight = text.geom.vScale * fontSize;
+
+      // vScale and hScale already contain the scaling to pixel units
+      // as mozCurrentTransform reflects ctx.scale() changes
+      // (see beginDrawing())
+      var fontHeight = fontSize * text.geom.vScale;
+      div.dataset.canvasWidth = text.canvasWidth * text.geom.hScale;
 
       div.style.fontSize = fontHeight + 'px';
       div.style.fontFamily = this.current.font.loadedName || 'sans-serif';
       div.style.left = text.geom.x + 'px';
       div.style.top = (text.geom.y - fontHeight) + 'px';
       div.innerHTML = text.str;
-      div.dataset.canvasWidth = text.canvasWidth * text.geom.hScale;
       div.dataset.textLength = text.length;
       this.textDivs.push(div);
     },
diff --git a/src/metrics.js b/src/metrics.js
index c21b4aed1..e64961aa7 100644
--- a/src/metrics.js
+++ b/src/metrics.js
@@ -3,6 +3,9 @@
 
 'use strict';
 
+// The Metrics object contains glyph widths (in glyph space units).
+// As per PDF spec, for most fonts (Type 3 being an exception) a glyph
+// space unit corresponds to 1/1000th of text space unit.
 var Metrics = {
   'Courier': 600,
   'Courier-Bold': 600,

From d6925b13ba3749afd29a1d50db7eb6c2509ae6eb Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Mon, 28 Nov 2011 16:55:09 -0800
Subject: [PATCH 36/68] Adding new errorback and code to display error
 messages.

---
 src/core.js     | 21 ++++++++++++++++++---
 src/worker.js   | 21 ++++++++++++++++-----
 test/driver.js  |  8 +++++---
 web/viewer.css  | 31 +++++++++++++++++++++++++++++++
 web/viewer.html | 18 ++++++++++++++++++
 web/viewer.js   | 35 +++++++++++++++++++++++++++++++----
 6 files changed, 119 insertions(+), 15 deletions(-)

diff --git a/src/core.js b/src/core.js
index 3549eb906..72601fdf7 100644
--- a/src/core.js
+++ b/src/core.js
@@ -63,6 +63,10 @@ var Page = (function pagePage() {
     };
     this.xref = xref;
     this.ref = ref;
+
+    this.ctx = null;
+    this.callback = null;
+    this.errorback = null;
   }
 
   constructor.prototype = {
@@ -165,8 +169,10 @@ var Page = (function pagePage() {
           try {
             self.display(gfx, self.callback);
           } catch (e) {
-            if (self.callback) self.callback(e.toString());
-            throw e;
+            if (self.errorback)
+              self.errorback(e);
+            else
+              throw e;
           }
         });
       };
@@ -303,9 +309,10 @@ var Page = (function pagePage() {
       }
       return links;
     },
-    startRendering: function pageStartRendering(ctx, callback)  {
+    startRendering: function pageStartRendering(ctx, callback, errorback)  {
       this.ctx = ctx;
       this.callback = callback;
+      this.errorback = errorback;
 
       this.startRenderingTime = Date.now();
       this.pdf.startRendering(this);
@@ -599,6 +606,14 @@ var PDFDoc = (function pdfDoc() {
         }
       }.bind(this));
 
+      messageHandler.on('page_error', function pdfDocError(data) {
+        var page = this.pageCache[data.pageNum];
+        if (page.errorback)
+          page.errorback(data.error)
+        else
+          throw data.error;
+      }, this);
+
       setTimeout(function pdfDocFontReadySetTimeout() {
         messageHandler.send('doc', this.data);
         this.workerReadyPromise.resolve(true);
diff --git a/src/worker.js b/src/worker.js
index 67f1bf658..06b9c7a22 100644
--- a/src/worker.js
+++ b/src/worker.js
@@ -14,7 +14,6 @@ function MessageHandler(name, comObj) {
   ah['console_error'] = [function ahConsoleError(data) {
       console.error.apply(console, data);
   }];
-
   comObj.onmessage = function messageHandlerComObjOnMessage(event) {
     var data = event.data;
     if (data.action in ah) {
@@ -67,7 +66,6 @@ var WorkerMessageHandler = {
     handler.on('page_request', function wphSetupPageRequest(pageNum) {
       pageNum = parseInt(pageNum);
 
-      var page = pdfDoc.getPage(pageNum);
 
       // The following code does quite the same as
       // Page.prototype.startRendering, but stops at one point and sends the
@@ -77,9 +75,22 @@ var WorkerMessageHandler = {
       var start = Date.now();
 
       var dependency = [];
-
-      // Pre compile the pdf page and fetch the fonts/images.
-      var IRQueue = page.getIRQueue(handler, dependency);
+      try {
+        var page = pdfDoc.getPage(pageNum);
+        // Pre compile the pdf page and fetch the fonts/images.
+        var IRQueue = page.getIRQueue(handler, dependency);
+      } catch(e) {
+        // Turn the error into an obj that can be serialized
+        e = {
+          message: e.message,
+          stack: e.stack
+        };
+        handler.send('page_error', {
+          pageNum: pageNum,
+          error: e
+        });
+        return;
+      }
 
       console.log('page=%d - getIRQueue: time=%dms, len=%d', pageNum,
                                   Date.now() - start, IRQueue.fnArray.length);
diff --git a/test/driver.js b/test/driver.js
index c11cecf56..48ac77e65 100644
--- a/test/driver.js
+++ b/test/driver.js
@@ -162,9 +162,11 @@ function nextPage(task, loadError) {
 
       page.startRendering(
         ctx,
-        function nextPageStartRendering(e) {
-          snapshotCurrentPage(task, (!failure && e) ?
-            ('render : ' + e) : failure);
+        function nextPageStartRendering() {
+          snapshotCurrentPage(task, false);
+        },
+        function errorNextPageStartRendering(e) {
+          snapshotCurrentPage(task, 'render : ' + e.message);
         }
       );
     } catch (e) {
diff --git a/web/viewer.css b/web/viewer.css
index c379e91c4..81458b612 100644
--- a/web/viewer.css
+++ b/web/viewer.css
@@ -252,6 +252,37 @@ canvas {
   display: none;
 }
 
+#errorWrapper {
+  background: none repeat scroll 0 0 #FF5555;
+  color: white;
+  left: 0;
+  position: fixed;
+  right: 0;
+  top: 30px;
+  z-index: 1000;
+  padding: 3px;
+}
+
+#errorMessageLeft {
+  float: left;
+}
+
+#errorMessageRight {
+  float: right;
+}
+
+#errorMoreInfo {
+  background-color: #FFFFFF;
+  color: black;
+  padding: 3px;
+  margin: 3px;
+  white-space: pre;
+}
+
+.clearBoth {
+  clear: both;
+}
+
 /* === Printed media overrides === */
 @media print {
   #sidebar {
diff --git a/web/viewer.html b/web/viewer.html
index e441a9847..153b22e80 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -97,6 +97,24 @@
 
       <span id="info">--</span>
     </div>
+    <div id="errorWrapper" hidden='true'>
+      <div id="errorMessageLeft">
+        <span id="errorMessage"></span>
+        <button id="errorShowMore" onclick="" oncontextmenu="return false;">
+          More Information
+        </button>
+        <button id="errorShowLess" onclick="" oncontextmenu="return false;" hidden='true'>
+          Less Information
+        </button>
+      </div>
+      <div id="errorMessageRight">
+        <button id="errorClose" oncontextmenu="return false;">
+          X
+        </button>
+      </div>
+      <div class="clearBoth"></div>
+      <div id="errorMoreInfo" hidden='true'></div>
+    </div>
 
     <div id="sidebar">
       <div id="sidebarBox">
diff --git a/web/viewer.js b/web/viewer.js
index bfb3a4303..00de7feaf 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -181,9 +181,34 @@ var PDFView = {
     return '';
   },
 
-  error: function pdfViewError() {
-    var loadingIndicator = document.getElementById('loading');
-    loadingIndicator.innerHTML = 'Error';
+  error: function pdfViewError(message, error) {
+    var errorWrapper = document.getElementById('errorWrapper');
+    errorWrapper.removeAttribute('hidden');
+
+    var errorMessage = document.getElementById('errorMessage');
+    errorMessage.innerHTML = message;
+
+    if (error) {
+      var errorMoreInfo = document.getElementById('errorMoreInfo');
+      var moreInfoButton = document.getElementById('errorShowMore');
+      var lessInfoButton = document.getElementById('errorShowLess');
+      var closeButton = document.getElementById('errorClose');
+      moreInfoButton.onclick = function() {
+        errorMoreInfo.removeAttribute('hidden');
+        moreInfoButton.setAttribute('hidden', 'true');
+        lessInfoButton.removeAttribute('hidden');
+      };
+      lessInfoButton.onclick = function() {
+        errorMoreInfo.setAttribute('hidden', 'true');
+        moreInfoButton.removeAttribute('hidden');
+        lessInfoButton.setAttribute('hidden', 'true');
+      };
+      closeButton.onclick = function() {
+        errorWrapper.setAttribute('hidden', 'true');
+      };
+      moreInfoButton.removeAttribute('hidden');
+      errorMoreInfo.innerHTML = error.message + '\n' + error.stack;
+    }
   },
 
   progress: function pdfViewProgress(level) {
@@ -487,7 +512,9 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     ctx.translate(-this.x * scale, -this.y * scale);
 
     stats.begin = Date.now();
-    this.content.startRendering(ctx, this.updateStats);
+    this.content.startRendering(ctx, this.updateStats, function(e) {
+      PDFView.error('An error occured while rendering the page.', e);
+    });
 
     setupLinks(this.content, this.scale);
     div.setAttribute('data-loaded', true);

From e4e864766df1c2252197113378ad0e191665e219 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Mon, 28 Nov 2011 19:47:37 -0600
Subject: [PATCH 37/68] Fix CIDFontType2 large cmap tables

---
 src/fonts.js | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/fonts.js b/src/fonts.js
index fb9bb9f0c..734b38c4a 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -1701,27 +1701,37 @@ var Font = (function Font() {
         }
 
         var glyphs = [], ids = [];
-        var usedUnicodes = [], unusedUnicode = kCmapGlyphOffset;
+        var usedUnicodes = [];
         var cidToGidMap = properties.cidToGidMap;
-        for (i = 1; i < numGlyphs; i++) {
+        var unassignedUnicodeItems = [];
+        for (var i = 1; i < numGlyphs; i++) {
           var cid = cidToGidMap ? cidToGidMap.indexOf(i) : i;
           var unicode = this.toUnicode[cid];
           if (!unicode || isSpecialUnicode(unicode) ||
               unicode in usedUnicodes) {
-            // overriding the special special symbols mapping
-            while (unusedUnicode in usedUnicodes)
-              unusedUnicode++;
-            this.toUnicode[cid] = unicode = unusedUnicode++;
-            if (unusedUnicode >= kCmapGlyphOffset + kSizeOfGlyphArea) {
-              // overflow of the user defined symblos range
-              // using symbols that a little bit lower than this range
-              unusedUnicode = kCmapGlyphOffset - numGlyphs;
-            }
+            unassignedUnicodeItems.push(i);
+            continue;
           }
           usedUnicodes[unicode] = true;
           glyphs.push({ unicode: unicode, code: cid });
           ids.push(i);
         }
+        // checking if unassigned symbols will fit the user defined symbols
+        // if those symbols too many, probably they will not be used anyway
+        if (unassignedUnicodeItems.length <= kSizeOfGlyphArea) {
+          var unusedUnicode = kCmapGlyphOffset;
+          for (var j = 0, jj = unassignedUnicodeItems.length; j < jj; j++) {
+            var i = unassignedUnicodeItems[j];
+            var cid = cidToGidMap ? cidToGidMap.indexOf(i) : i;
+            while (unusedUnicode in usedUnicodes)
+              unusedUnicode++;
+            var unicode = unusedUnicode++;
+            this.toUnicode[cid] = unicode;
+            usedUnicodes[unicode] = true;
+            glyphs.push({ unicode: unicode, code: cid });
+            ids.push(i);
+          }
+        }
         cmap.data = createCMapTable(glyphs, ids);
       } else {
         var cmapTable = readCMapTable(cmap, font);

From 88310a09c2470589aa4343d9da9f5c43427a060a Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Mon, 28 Nov 2011 19:49:02 -0600
Subject: [PATCH 38/68] Removing refreshToUnicode

---
 src/fonts.js | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/fonts.js b/src/fonts.js
index 734b38c4a..9ec87227e 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -1974,9 +1974,6 @@ var Font = (function Font() {
         }
       }
       this.toUnicode = map;
-      this.refreshToUnicode = function refreshToUnicode() {
-        this.font_rebuildToUnicode(properties);
-      };
     },
 
     loadCidToUnicode: function font_loadCidToUnicode(properties) {

From 683a8f0de8d9155a34f1ba422cc5d12ee4133b9b Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Mon, 28 Nov 2011 21:54:07 -0600
Subject: [PATCH 39/68] Remove indexOf, using reverse map instead

---
 src/fonts.js | 41 ++++++++++++++++++++++++-----------------
 1 file changed, 24 insertions(+), 17 deletions(-)

diff --git a/src/fonts.js b/src/fonts.js
index 9ec87227e..9aabb3f57 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -1700,12 +1700,19 @@ var Font = (function Font() {
           tables.push(cmap);
         }
 
+        var cidToGidMap = properties.cidToGidMap || [];
+        var gidToCidMap = [0];
+        for (var j = cidToGidMap.length - 1; j >= 0; j--) {
+          var gid = cidToGidMap[j];
+          if (gid)
+            gidToCidMap[gid] = j;
+        }
+
         var glyphs = [], ids = [];
         var usedUnicodes = [];
-        var cidToGidMap = properties.cidToGidMap;
         var unassignedUnicodeItems = [];
         for (var i = 1; i < numGlyphs; i++) {
-          var cid = cidToGidMap ? cidToGidMap.indexOf(i) : i;
+          var cid = gidToCidMap[i] || i;
           var unicode = this.toUnicode[cid];
           if (!unicode || isSpecialUnicode(unicode) ||
               unicode in usedUnicodes) {
@@ -1716,21 +1723,21 @@ var Font = (function Font() {
           glyphs.push({ unicode: unicode, code: cid });
           ids.push(i);
         }
-        // checking if unassigned symbols will fit the user defined symbols
-        // if those symbols too many, probably they will not be used anyway
-        if (unassignedUnicodeItems.length <= kSizeOfGlyphArea) {
-          var unusedUnicode = kCmapGlyphOffset;
-          for (var j = 0, jj = unassignedUnicodeItems.length; j < jj; j++) {
-            var i = unassignedUnicodeItems[j];
-            var cid = cidToGidMap ? cidToGidMap.indexOf(i) : i;
-            while (unusedUnicode in usedUnicodes)
-              unusedUnicode++;
-            var unicode = unusedUnicode++;
-            this.toUnicode[cid] = unicode;
-            usedUnicodes[unicode] = true;
-            glyphs.push({ unicode: unicode, code: cid });
-            ids.push(i);
-          }
+        // trying to fit as many unassigned symbols as we can
+        // in the range allocated for the user defined symbols
+        var unusedUnicode = kCmapGlyphOffset;
+        for (var j = 0, jj = unassignedUnicodeItems.length; j < jj; j++) {
+          var i = unassignedUnicodeItems[j];
+          var cid = gidToCidMap[i] || i;
+          while (unusedUnicode in usedUnicodes)
+            unusedUnicode++;
+          if (unusedUnicode >= kCmapGlyphOffset + kSizeOfGlyphArea)
+            break;
+          var unicode = unusedUnicode++;
+          this.toUnicode[cid] = unicode;
+          usedUnicodes[unicode] = true;
+          glyphs.push({ unicode: unicode, code: cid });
+          ids.push(i);
         }
         cmap.data = createCMapTable(glyphs, ids);
       } else {

From 6dd706c0c387bad95ec5d4976e9220b43ad0aea8 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 29 Nov 2011 09:36:50 -0800
Subject: [PATCH 40/68] Make the error a little smaller.

---
 web/viewer.css | 1 +
 1 file changed, 1 insertion(+)

diff --git a/web/viewer.css b/web/viewer.css
index 81458b612..ac758f48e 100644
--- a/web/viewer.css
+++ b/web/viewer.css
@@ -261,6 +261,7 @@ canvas {
   top: 30px;
   z-index: 1000;
   padding: 3px;
+  font-size: 0.8em;
 }
 
 #errorMessageLeft {

From b40af3555b2be14311c6d7cf4cc28dc750d72387 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 29 Nov 2011 11:28:05 -0800
Subject: [PATCH 41/68] Display error messages on more problems.

---
 src/core.js   | 14 ++++++----
 web/viewer.js | 73 +++++++++++++++++++++++++++++++++++----------------
 2 files changed, 59 insertions(+), 28 deletions(-)

diff --git a/src/core.js b/src/core.js
index 72601fdf7..8b814f027 100644
--- a/src/core.js
+++ b/src/core.js
@@ -39,11 +39,15 @@ function getPdf(arg, callback) {
   if ('error' in params)
     xhr.onerror = params.error || undefined;
 
-  xhr.onreadystatechange = function getPdfOnreadystatechange() {
-    if (xhr.readyState === 4 && xhr.status === xhr.expected) {
-      var data = (xhr.mozResponseArrayBuffer || xhr.mozResponse ||
-                  xhr.responseArrayBuffer || xhr.response);
-      callback(data);
+  xhr.onreadystatechange = function getPdfOnreadystatechange(e) {
+    if (xhr.readyState === 4) {
+      if (xhr.status === xhr.expected) {
+        var data = (xhr.mozResponseArrayBuffer || xhr.mozResponse ||
+                    xhr.responseArrayBuffer || xhr.response);
+        callback(data);
+      } else {
+        params.error(e);
+      }
     }
   };
   xhr.send(null);
diff --git a/web/viewer.js b/web/viewer.js
index 221c535ee..066d04829 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -129,7 +129,14 @@ var PDFView = {
           if (evt.lengthComputable)
             self.progress(evt.loaded / evt.total);
         },
-        error: self.error
+        error: function getPdfError(e) {
+          var loadingIndicator = document.getElementById('loading');
+          loadingIndicator.innerHTML = 'Error';
+          var moreInfo = {
+            message: 'Unexpected server response of ' + e.target.status + '.'
+          };
+          self.error('An error occurred while loading the PDF.', moreInfo);
+        }
       },
       function getPdfLoad(data) {
         self.loading = true;
@@ -181,33 +188,46 @@ var PDFView = {
     return '';
   },
 
-  error: function pdfViewError(message, error) {
+  /**
+   * Show the error box.
+   * @param {String} message A message that is human readable.
+   * @param {Object} moreInfo (optional) Further information about the error
+   *                            that is more technical.  Should have a 'message'
+   *                            and optionally a 'stack' property.
+   */
+  error: function pdfViewError(message, moreInfo) {
     var errorWrapper = document.getElementById('errorWrapper');
     errorWrapper.removeAttribute('hidden');
 
     var errorMessage = document.getElementById('errorMessage');
     errorMessage.innerHTML = message;
 
-    if (error) {
-      var errorMoreInfo = document.getElementById('errorMoreInfo');
-      var moreInfoButton = document.getElementById('errorShowMore');
-      var lessInfoButton = document.getElementById('errorShowLess');
-      var closeButton = document.getElementById('errorClose');
-      moreInfoButton.onclick = function() {
-        errorMoreInfo.removeAttribute('hidden');
-        moreInfoButton.setAttribute('hidden', 'true');
-        lessInfoButton.removeAttribute('hidden');
-      };
-      lessInfoButton.onclick = function() {
-        errorMoreInfo.setAttribute('hidden', 'true');
-        moreInfoButton.removeAttribute('hidden');
-        lessInfoButton.setAttribute('hidden', 'true');
-      };
-      closeButton.onclick = function() {
-        errorWrapper.setAttribute('hidden', 'true');
-      };
+    var closeButton = document.getElementById('errorClose');
+    closeButton.onclick = function() {
+      errorWrapper.setAttribute('hidden', 'true');
+    };
+
+    var errorMoreInfo = document.getElementById('errorMoreInfo');
+    var moreInfoButton = document.getElementById('errorShowMore');
+    var lessInfoButton = document.getElementById('errorShowLess');
+    moreInfoButton.onclick = function() {
+      errorMoreInfo.removeAttribute('hidden');
+      moreInfoButton.setAttribute('hidden', 'true');
+      lessInfoButton.removeAttribute('hidden');
+    };
+    lessInfoButton.onclick = function() {
+      errorMoreInfo.setAttribute('hidden', 'true');
       moreInfoButton.removeAttribute('hidden');
-      errorMoreInfo.innerHTML = error.message + '\n' + error.stack;
+      lessInfoButton.setAttribute('hidden', 'true');
+    };
+    moreInfoButton.removeAttribute('hidden');
+    lessInfoButton.setAttribute('hidden', 'true');
+    errorMoreInfo.innerHTML = 'PDF.JS Build: ' + PDFJS.build + '\n';
+
+    if (moreInfo) {
+      errorMoreInfo.innerHTML += 'Message: ' + moreInfo.message;
+      if (moreInfo.stack)
+        errorMoreInfo.innerHTML += '\n' + 'Stack: ' + moreInfo.stack;
     }
   },
 
@@ -225,6 +245,9 @@ var PDFView = {
       };
     }
 
+    var errorWrapper = document.getElementById('errorWrapper');
+    errorWrapper.setAttribute('hidden', 'true');
+
     var loadingIndicator = document.getElementById('loading');
     loadingIndicator.setAttribute('hidden', 'true');
 
@@ -241,7 +264,11 @@ var PDFView = {
     while (container.hasChildNodes())
       container.removeChild(container.lastChild);
 
-    var pdf = new PDFJS.PDFDoc(data);
+    try {
+      var pdf = new PDFJS.PDFDoc(data);
+    } catch (e) {
+      this.error('An error occurred while reading the PDF.', e);
+    }
     var pagesCount = pdf.numPages;
     document.getElementById('numPages').innerHTML = pagesCount;
     document.getElementById('pageNumber').max = pagesCount;
@@ -533,7 +560,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
           this.onAfterDraw();
       }).bind(this),
       function pageViewErrorback(e) {
-        PDFView.error('An error occured while rendering the page.', e);
+        PDFView.error('An error occurred while rendering the page.', e);
       }
     );
 

From cddb1063588c5148338892e3c0ba940d13b76f55 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 29 Nov 2011 11:32:01 -0800
Subject: [PATCH 42/68] Fix lints.

---
 src/core.js   | 2 +-
 src/worker.js | 2 +-
 web/viewer.js | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/core.js b/src/core.js
index 8b814f027..a45030b3f 100644
--- a/src/core.js
+++ b/src/core.js
@@ -613,7 +613,7 @@ var PDFDoc = (function pdfDoc() {
       messageHandler.on('page_error', function pdfDocError(data) {
         var page = this.pageCache[data.pageNum];
         if (page.errorback)
-          page.errorback(data.error)
+          page.errorback(data.error);
         else
           throw data.error;
       }, this);
diff --git a/src/worker.js b/src/worker.js
index 06b9c7a22..dc0ab9ead 100644
--- a/src/worker.js
+++ b/src/worker.js
@@ -79,7 +79,7 @@ var WorkerMessageHandler = {
         var page = pdfDoc.getPage(pageNum);
         // Pre compile the pdf page and fetch the fonts/images.
         var IRQueue = page.getIRQueue(handler, dependency);
-      } catch(e) {
+      } catch (e) {
         // Turn the error into an obj that can be serialized
         e = {
           message: e.message,
diff --git a/web/viewer.js b/web/viewer.js
index 066d04829..f3975c038 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -553,7 +553,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
     ctx.translate(-this.x * scale, -this.y * scale);
 
     stats.begin = Date.now();
-    this.content.startRendering(ctx, 
+    this.content.startRendering(ctx,
       (function pageViewDrawCallback() {
         this.updateStats();
         if (this.onAfterDraw)

From fe5aa4af3f36f570b7a10160eabb47bec630be4e Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 29 Nov 2011 14:46:24 -0500
Subject: [PATCH 43/68] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 97db68d36..f3500ae4d 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # pdf.js
 
-
+ 
 
 ## Overview
 

From 6a747c4353887c0fab14aa95c46853ee44d42818 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 29 Nov 2011 14:54:32 -0500
Subject: [PATCH 44/68] Created inactive window bugzilla bug

---
 web/viewer.css | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/web/viewer.css b/web/viewer.css
index 1684900fa..3313ce3cb 100644
--- a/web/viewer.css
+++ b/web/viewer.css
@@ -247,11 +247,11 @@ canvas {
   line-height:1.3;
 }
 
-::selection { background:rgba(0,0,255,0.3); }
-::-moz-selection { background:rgba(0,0,255,0.3); }
 /* TODO: file FF bug to support ::-moz-selection:window-inactive
    so we can override the opaque grey background when the window is inactive;
-   see also http://css-tricks.com/9288-window-inactive-styling */
+   see https://bugzilla.mozilla.org/show_bug.cgi?id=706209 */
+::selection { background:rgba(0,0,255,0.3); }
+::-moz-selection { background:rgba(0,0,255,0.3); }
 
 #viewer {
   margin: 44px 0px 0px;

From e2e2240a227f2a838a4fee9481587d668d57747d Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Tue, 29 Nov 2011 16:02:12 -0500
Subject: [PATCH 45/68] Lint lint lint

---
 src/canvas.js | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 99644eb07..16a870817 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -280,29 +280,28 @@ var CanvasGraphics = (function canvasGraphics() {
 
       var textLayer = this.textLayer;
       if (textLayer) {
-        var renderTextLayer = function canvasRenderTextLayer() {          
+        var renderTextLayer = function canvasRenderTextLayer() {
           var textDivs = self.textDivs;
           for (var i = 0, length = textDivs.length; i < length; ++i) {
-            if (textDivs[i].dataset.textLength>1) { // avoid div by zero
+            if (textDivs[i].dataset.textLength > 1) { // avoid div by zero
               textLayer.appendChild(textDivs[i]);
               // Adjust div width (via letterSpacing) to match canvas text
               // Due to the .offsetWidth calls, this is slow
               textDivs[i].style.letterSpacing =
-                ((textDivs[i].dataset.canvasWidth
-                - textDivs[i].offsetWidth)/(textDivs[i].dataset.textLength-1))
-                + 'px';
+                ((textDivs[i].dataset.canvasWidth - textDivs[i].offsetWidth) /
+                 (textDivs[i].dataset.textLength - 1)) + 'px';
             }
-          }          
+          }
         }
         var textLayerQueue = self.textLayerQueue;
         textLayerQueue.push(renderTextLayer);
-        
+
         // Lazy textLayer rendering (to prevent UI hangs)
         // Only render queue if activity has stopped, where "no activity" ==
         // "no beginDrawing() calls in the last N ms"
-        self.textLayerTimer = setTimeout(function renderTextLayerQueue(){
+        self.textLayerTimer = setTimeout(function renderTextLayerQueue() {
           // Render most recent (==most relevant) layers first
-          for (var i=textLayerQueue.length-1; i>=0; i--) {
+          for (var i = textLayerQueue.length - 1; i >= 0; i--) {
             textLayerQueue.pop().call();
           }
         }, 500);
@@ -596,7 +595,7 @@ var CanvasGraphics = (function canvasGraphics() {
         spaceGlyph = font.charsToGlyphs('i');
       // Fallback
       if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
-        spaceGlyph = [ {width:0} ];
+        spaceGlyph = [{width: 0}];
       geom.spaceWidth = spaceGlyph[0].width;
       return geom;
     },
@@ -629,7 +628,7 @@ var CanvasGraphics = (function canvasGraphics() {
       var textHScale = current.textHScale;
       var glyphsLength = glyphs.length;
       var textLayer = this.textLayer;
-      var text = { str:'', length:0, canvasWidth:0, geom:{}};
+      var text = {str: '', length: 0, canvasWidth: 0, geom: {}};
       var textSelection = textLayer && !skipTextSelection ? true : false;
 
       if (textSelection) {
@@ -638,7 +637,7 @@ var CanvasGraphics = (function canvasGraphics() {
         text.geom = this.getTextGeometry();
         ctx.restore();
       }
-      
+
       // Type3 fonts - each glyph is a "mini-PDF"
       if (font.coded) {
         ctx.save();
@@ -689,7 +688,7 @@ var CanvasGraphics = (function canvasGraphics() {
           var charWidth = glyph.width * fontSize * 0.001 + charSpacing;
           ctx.fillText(char, width, 0);
           width += charWidth;
-          
+
           text.str += char === ' ' ? '&nbsp;' : char;
           text.length++;
           text.canvasWidth += charWidth;
@@ -699,7 +698,7 @@ var CanvasGraphics = (function canvasGraphics() {
         ctx.restore();
       }
 
-      if (textSelection) 
+      if (textSelection)
         this.pushTextDivs(text);
 
       return text;
@@ -712,7 +711,7 @@ var CanvasGraphics = (function canvasGraphics() {
       var arrLength = arr.length;
       var textLayer = this.textLayer;
       var font = current.font;
-      var text = {str:'', length:0, canvasWidth:0, geom:{}};
+      var text = {str: '', length: 0, canvasWidth: 0, geom: {}};
       var textSelection = textLayer ? true : false;
 
       if (textSelection) {
@@ -721,7 +720,7 @@ var CanvasGraphics = (function canvasGraphics() {
         text.geom = this.getTextGeometry();
         ctx.restore();
       }
-      
+
       for (var i = 0; i < arrLength; ++i) {
         var e = arr[i];
         if (isNum(e)) {
@@ -731,11 +730,11 @@ var CanvasGraphics = (function canvasGraphics() {
           if (textSelection) {
             // Emulate precise spacing via HTML spaces
             text.canvasWidth += spacingLength;
-            if (e<0 && text.geom.spaceWidth>0) { // avoid div by zero
+            if (e < 0 && text.geom.spaceWidth > 0) { // avoid div by zero
               var numFakeSpaces = Math.round(-e / text.geom.spaceWidth);
               for (var j = 0; j < numFakeSpaces; ++j)
                 text.str += '&nbsp;';
-              text.length += numFakeSpaces>0 ? 1 : 0;
+              text.length += numFakeSpaces > 0 ? 1 : 0;
             }
           }
         } else if (isString(e)) {
@@ -754,8 +753,8 @@ var CanvasGraphics = (function canvasGraphics() {
           malformed('TJ array element ' + e + ' is not string or num');
         }
       }
-      
-      if (textSelection) 
+
+      if (textSelection)
         this.pushTextDivs(text);
     },
     nextLineShowText: function canvasGraphicsNextLineShowText(text) {

From e5d91ab2194addbe4d017a1c9f9c1cd3aeb4a84c Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 29 Nov 2011 14:50:19 -0800
Subject: [PATCH 46/68] Fix invalid arguments error.

---
 src/core.js      | 15 ++-------------
 src/evaluator.js |  5 +++++
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/src/core.js b/src/core.js
index 3549eb906..a3485b3e0 100644
--- a/src/core.js
+++ b/src/core.js
@@ -558,20 +558,9 @@ var PDFDoc = (function pdfDoc() {
             var properties = data[4];
 
             if (file) {
+              // Rewrap the ArrayBuffer in a stream.
               var fontFileDict = new Dict();
-              fontFileDict.map = file.dict.map;
-
-              var fontFile = new Stream(file.bytes, file.start,
-                                        file.end - file.start, fontFileDict);
-
-              // Check if this is a FlateStream. Otherwise just use the created
-              // Stream one. This makes complex_ttf_font.pdf work.
-              var cmf = file.bytes[0];
-              if ((cmf & 0x0f) == 0x08) {
-                file = new FlateStream(fontFile);
-              } else {
-                file = fontFile;
-              }
+              file = new Stream(file, 0, file.length, fontFileDict);
             }
 
             // For now, resolve the font object here direclty. The real font
diff --git a/src/evaluator.js b/src/evaluator.js
index 3e687c72d..b6ef4ddfa 100644
--- a/src/evaluator.js
+++ b/src/evaluator.js
@@ -155,6 +155,11 @@ var PartialEvaluator = (function partialEvaluator() {
             font.loadedName = loadedName;
 
             var translated = font.translated;
+            // Convert the file to an ArrayBuffer which will be turned back into
+            // a Stream in the main thread.
+            if (translated.file)
+              translated.file = translated.file.getBytes();
+
             handler.send('obj', [
                 loadedName,
                 'Font',

From f0bb73e9e8a758f6ed2130aba7caa8b677f3b0ed Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Tue, 29 Nov 2011 15:47:53 -0800
Subject: [PATCH 47/68] Add test case.

---
 test/pdfs/protectip.pdf.link | 1 +
 test/test_manifest.json      | 7 +++++++
 2 files changed, 8 insertions(+)
 create mode 100644 test/pdfs/protectip.pdf.link

diff --git a/test/pdfs/protectip.pdf.link b/test/pdfs/protectip.pdf.link
new file mode 100644
index 000000000..1af1bd87b
--- /dev/null
+++ b/test/pdfs/protectip.pdf.link
@@ -0,0 +1 @@
+http://leahy.senate.gov/imo/media/doc/BillText-PROTECTIPAct.pdf
diff --git a/test/test_manifest.json b/test/test_manifest.json
index 87af30659..ef5677f07 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -276,5 +276,12 @@
        "link": false,
        "rounds": 1,
        "type": "eq"
+    },
+    {  "id": "protectip",
+       "file": "pdfs/protectip.pdf",
+       "md5": "676e7a7b8f96d04825361832b1838a93",
+       "link": true,
+       "rounds": 1,
+       "type": "eq"
     }
 ]

From 0414c0711f4b0d20a6680cbf3e5dc02a6e1d7bb0 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Tue, 29 Nov 2011 22:06:00 -0600
Subject: [PATCH 48/68] Fixing base encoding presence detection; character
 width scale

---
 src/canvas.js    | 14 ++++++++------
 src/evaluator.js |  2 ++
 src/fonts.js     |  7 ++++++-
 src/glyphlist.js |  3 ++-
 4 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 587357980..f16313db2 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -537,13 +537,14 @@ var CanvasGraphics = (function canvasGraphics() {
       var charSpacing = current.charSpacing;
       var wordSpacing = current.wordSpacing;
       var textHScale = current.textHScale;
+      var fontMatrix = font.fontMatrix || IDENTITY_MATRIX;
+      var textHScale2 = textHScale * fontMatrix[0];
       var glyphsLength = glyphs.length;
       if (font.coded) {
         ctx.save();
         ctx.transform.apply(ctx, current.textMatrix);
         ctx.translate(current.x, current.y);
 
-        var fontMatrix = font.fontMatrix || IDENTITY_MATRIX;
         ctx.scale(1 / textHScale, 1);
         for (var i = 0; i < glyphsLength; ++i) {
 
@@ -564,7 +565,7 @@ var CanvasGraphics = (function canvasGraphics() {
           var width = transformed[0] * fontSize + charSpacing;
 
           ctx.translate(width, 0);
-          current.x += width;
+          current.x += width * textHScale2;
 
         }
         ctx.restore();
@@ -573,7 +574,7 @@ var CanvasGraphics = (function canvasGraphics() {
         ctx.transform.apply(ctx, current.textMatrix);
         ctx.scale(1, -1);
         ctx.translate(current.x, -1 * current.y);
-        ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX);
+        ctx.transform.apply(ctx, fontMatrix);
 
         ctx.scale(1 / textHScale, 1);
 
@@ -592,7 +593,7 @@ var CanvasGraphics = (function canvasGraphics() {
 
           // TODO actual characters can be extracted from the glyph.unicode
         }
-        current.x += width;
+        current.x += width * textHScale2;
 
         ctx.restore();
       }
@@ -602,12 +603,13 @@ var CanvasGraphics = (function canvasGraphics() {
       var ctx = this.ctx;
       var current = this.current;
       var fontSize = current.fontSize;
-      var textHScale = current.textHScale;
+      var textHScale2 = current.textHScale *
+        (current.font.fontMatrix || IDENTITY_MATRIX)[0];
       var arrLength = arr.length;
       for (var i = 0; i < arrLength; ++i) {
         var e = arr[i];
         if (isNum(e)) {
-          current.x -= e * 0.001 * fontSize * textHScale;
+          current.x -= e * 0.001 * fontSize * textHScale2;
         } else if (isString(e)) {
           this.showText(e);
         } else {
diff --git a/src/evaluator.js b/src/evaluator.js
index b6ef4ddfa..954c3bec3 100644
--- a/src/evaluator.js
+++ b/src/evaluator.js
@@ -498,6 +498,8 @@ var PartialEvaluator = (function partialEvaluator() {
           var baseName = encoding.get('BaseEncoding');
           if (baseName)
             baseEncoding = Encodings[baseName.name];
+          else
+            hasEncoding = false; // base encoding was not provided
 
           // Load the differences between the base and original
           if (encoding.has('Differences')) {
diff --git a/src/fonts.js b/src/fonts.js
index 9aabb3f57..2e95a7c94 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -764,6 +764,7 @@ var Font = (function Font() {
     this.hasEncoding = properties.hasEncoding;
 
     this.fontMatrix = properties.fontMatrix;
+    this.widthMultiplier = 1.0;
     if (properties.type == 'Type3')
       return;
 
@@ -826,6 +827,8 @@ var Font = (function Font() {
 
     this.data = data;
     this.fontMatrix = properties.fontMatrix;
+    this.widthMultiplier = !properties.fontMatrix ? 1.0 :
+      1.0 / properties.fontMatrix[0];
     this.encoding = properties.baseEncoding;
     this.hasShortCmap = properties.hasShortCmap;
     this.loadedName = getUniqueName();
@@ -2131,10 +2134,12 @@ var Font = (function Font() {
       if (typeof unicodeChars === 'number')
         unicodeChars = String.fromCharCode(unicodeChars);
 
+      width = (isNum(width) ? width : this.defaultWidth) * this.widthMultiplier;
+
       return {
         fontChar: String.fromCharCode(unicode),
         unicode: unicodeChars,
-        width: isNum(width) ? width : this.defaultWidth,
+        width: width,
         codeIRQueue: codeIRQueue
       };
     },
diff --git a/src/glyphlist.js b/src/glyphlist.js
index 5691f8546..01b94442a 100644
--- a/src/glyphlist.js
+++ b/src/glyphlist.js
@@ -4287,6 +4287,7 @@ var GlyphsUnicode = {
   zretroflexhook: 0x0290,
   zstroke: 0x01B6,
   zuhiragana: 0x305A,
-  zukatakana: 0x30BA
+  zukatakana: 0x30BA,
+  '.notdef': 0x0000
 };
 

From 73bf5d7b651f6c1213321818e84986738d6f013d Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Tue, 29 Nov 2011 22:22:30 -0600
Subject: [PATCH 49/68] Add paperine test

---
 test/pdfs/piperine.pdf.link | 1 +
 test/test_manifest.json     | 7 +++++++
 2 files changed, 8 insertions(+)
 create mode 100644 test/pdfs/piperine.pdf.link

diff --git a/test/pdfs/piperine.pdf.link b/test/pdfs/piperine.pdf.link
new file mode 100644
index 000000000..0d38690ee
--- /dev/null
+++ b/test/pdfs/piperine.pdf.link
@@ -0,0 +1 @@
+http://www.erowid.org/archive/rhodium/chemistry/3base/piperonal.pepper/piperine.pepper/465e03piperine.pdf
diff --git a/test/test_manifest.json b/test/test_manifest.json
index ef5677f07..dd861c9f2 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -283,5 +283,12 @@
        "link": true,
        "rounds": 1,
        "type": "eq"
+    },
+    {  "id": "piperine",
+       "file": "pdfs/piperine.pdf",
+       "md5": "603ca43dc5732dbba1579f122958c0c2",
+       "link": true,
+       "rounds": 1,
+       "type": "eq"
     }
 ]

From 6fe0594d9386e7ca0981935c0cc7fdcb9508d4bf Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Wed, 30 Nov 2011 09:42:52 -0500
Subject: [PATCH 50/68] fixing ref so that it passes manifest tests

---
 extensions/firefox/install.rdf | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/extensions/firefox/install.rdf b/extensions/firefox/install.rdf
index 952d55fbf..7bf7b8037 100644
--- a/extensions/firefox/install.rdf
+++ b/extensions/firefox/install.rdf
@@ -12,7 +12,7 @@
       <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>6.0</em:minVersion>
-       <em:maxVersion>11.0.*</em:maxVersion>
+       <em:maxVersion>11.0a1</em:maxVersion>
      </Description>
     </em:targetApplication>
     <em:bootstrap>true</em:bootstrap>
@@ -20,5 +20,6 @@
     <em:creator>Vivien Nicolas</em:creator>
     <em:description>pdf.js uri loader</em:description>
     <em:homepageURL>https://github.com/mozilla/pdf.js/</em:homepageURL>
+    <em:type>2</em:type>
   </Description>
 </RDF>

From 8396406475ad1ef41b9fc54ec955f7c751a049d6 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Wed, 30 Nov 2011 10:31:10 -0500
Subject: [PATCH 51/68] v0.1.0

---
 extensions/firefox/install.rdf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/extensions/firefox/install.rdf b/extensions/firefox/install.rdf
index 7bf7b8037..8b793c525 100644
--- a/extensions/firefox/install.rdf
+++ b/extensions/firefox/install.rdf
@@ -6,7 +6,7 @@
   <Description about="urn:mozilla:install-manifest">
     <em:id>uriloader@pdf.js</em:id>
     <em:name>pdf.js</em:name>
-    <em:version>0.1</em:version>
+    <em:version>0.1.0</em:version>
 	  <em:iconURL>chrome://pdf.js/skin/logo.png</em:iconURL>
     <em:targetApplication>
       <Description>

From 594e5daa7c9f819cd960fb43094177fd90246943 Mon Sep 17 00:00:00 2001
From: Julian Viereck <julian.viereck@gmail.com>
Date: Thu, 1 Dec 2011 00:02:30 +0100
Subject: [PATCH 52/68] Only check execution time on some commands

---
 src/canvas.js | 42 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index f16313db2..31792dfc4 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -195,6 +195,35 @@ var CanvasGraphics = (function canvasGraphics() {
   var EO_CLIP = {};
 
   constructor.prototype = {
+    slowCommands: {
+      'stroke': true,
+      'closeStroke': true,
+      'fill': true,
+      'eoFill': true,
+      'fillStroke': true,
+      'eoFillStroke': true,
+      'closeFillStroke': true,
+      'closeEOFillStroke': true,
+      'showText': true,
+      'showSpacedText': true,
+      'setStrokeColorSpace': true,
+      'setFillColorSpace': true,
+      'setStrokeColor': true,
+      'setStrokeColorN': true,
+      'setFillColor': true,
+      'setFillColorN_IR': true,
+      'setStrokeGray': true,
+      'setFillGray': true,
+      'setStrokeRGBColor': true,
+      'setFillRGBColor': true,
+      'setStrokeCMYKColor': true,
+      'setFillCMYKColor': true,
+      'paintJpegXObject': true,
+      'paintImageXObject': true,
+      'paintImageMaskXObject': true,
+      'shadingFill': true
+    },
+
     beginDrawing: function canvasGraphicsBeginDrawing(mediaBox) {
       var cw = this.ctx.canvas.width, ch = this.ctx.canvas.height;
       this.ctx.save();
@@ -228,13 +257,17 @@ var CanvasGraphics = (function canvasGraphics() {
       }
 
       var executionEndIdx;
-      var startTime = Date.now();
+      var endTime = Date.now() + kExecutionTime;
 
       var objs = this.objs;
+      var fnName;
+      var slowCommands = this.slowCommands;
 
       while (true) {
-        if (fnArray[i] !== 'dependency') {
-          this[fnArray[i]].apply(this, argsArray[i]);
+        fnName = fnArray[i];
+
+        if (fnName !== 'dependency') {
+          this[fnName].apply(this, argsArray[i]);
         } else {
           var deps = argsArray[i];
           for (var n = 0, nn = deps.length; n < nn; n++) {
@@ -248,6 +281,7 @@ var CanvasGraphics = (function canvasGraphics() {
             }
           }
         }
+
         i++;
 
         // If the entire IRQueue was executed, stop as were done.
@@ -258,7 +292,7 @@ var CanvasGraphics = (function canvasGraphics() {
         // If the execution took longer then a certain amount of time, shedule
         // to continue exeution after a short delay.
         // However, this is only possible if a 'continueCallback' is passed in.
-        if (continueCallback && (Date.now() - startTime) > kExecutionTime) {
+        if (continueCallback && slowCommands[fnName] && Date.now() > endTime) {
           setTimeout(continueCallback, 0);
           return i;
         }

From 66eda9b36b1f6220dfb6296cfa06798b1723aa88 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Wed, 30 Nov 2011 18:54:04 -0600
Subject: [PATCH 53/68] replace isName in the viewer.js

---
 web/viewer.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/web/viewer.js b/web/viewer.js
index c8b830431..70411776e 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -168,7 +168,8 @@ var PDFView = {
         (destRef + 1);
       if (pageNumber) {
         var pdfOpenParams = '#page=' + pageNumber;
-        if (isName(dest[1], 'XYZ')) {
+        var destKind = dest[1];
+        if ('name' in destKind && destKind.name == 'XYZ') {
           var scale = (dest[4] || this.currentScale);
           pdfOpenParams += '&zoom=' + (scale * 100);
           if (dest[2] || dest[3]) {

From c06697732fb5c34887f14e4a559667ad9ceacd5d Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Wed, 30 Nov 2011 19:04:45 -0600
Subject: [PATCH 54/68] Avoiding pageRefMap is not defined in the
 getDestinationHash()

---
 web/viewer.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/web/viewer.js b/web/viewer.js
index c8b830431..2e8ce0df6 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -238,10 +238,10 @@ var PDFView = {
       pagesRefMap[pageRef.num + ' ' + pageRef.gen + ' R'] = i;
     }
 
-    this.setScale(scale || kDefaultScale, true);
-
     this.pagesRefMap = pagesRefMap;
     this.destinations = pdf.catalog.destinations;
+    this.setScale(scale || kDefaultScale, true);
+
     if (pdf.catalog.documentOutline) {
       this.outline = new DocumentOutlineView(pdf.catalog.documentOutline);
       var outlineSwitchButton = document.getElementById('outlineSwitch');

From 3ae06c96ade5821f677f59f3686eaa1e0f3e063c Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Thu, 1 Dec 2011 09:11:33 -0800
Subject: [PATCH 55/68] Address Yury's comments.

---
 src/core.js     | 2 +-
 src/worker.js   | 3 ++-
 web/viewer.html | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/core.js b/src/core.js
index a45030b3f..f2977ecd6 100644
--- a/src/core.js
+++ b/src/core.js
@@ -45,7 +45,7 @@ function getPdf(arg, callback) {
         var data = (xhr.mozResponseArrayBuffer || xhr.mozResponse ||
                     xhr.responseArrayBuffer || xhr.response);
         callback(data);
-      } else {
+      } else if (params.error) {
         params.error(e);
       }
     }
diff --git a/src/worker.js b/src/worker.js
index dc0ab9ead..8e4c14fbc 100644
--- a/src/worker.js
+++ b/src/worker.js
@@ -75,10 +75,11 @@ var WorkerMessageHandler = {
       var start = Date.now();
 
       var dependency = [];
+      var IRQueue = null;
       try {
         var page = pdfDoc.getPage(pageNum);
         // Pre compile the pdf page and fetch the fonts/images.
-        var IRQueue = page.getIRQueue(handler, dependency);
+        IRQueue = page.getIRQueue(handler, dependency);
       } catch (e) {
         // Turn the error into an obj that can be serialized
         e = {
diff --git a/web/viewer.html b/web/viewer.html
index 153b22e80..ffd4327a7 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -109,7 +109,7 @@
       </div>
       <div id="errorMessageRight">
         <button id="errorClose" oncontextmenu="return false;">
-          X
+          Close
         </button>
       </div>
       <div class="clearBoth"></div>

From 705356fa41ef226844ab0150059655d59e9d41b4 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Thu, 1 Dec 2011 14:11:17 -0500
Subject: [PATCH 56/68] Addressing comments by @vingtetun

---
 src/canvas.js | 69 +++++++++++++++++++++++++++------------------------
 1 file changed, 37 insertions(+), 32 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 1e8febea8..b457eb4ff 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -275,37 +275,38 @@ var CanvasGraphics = (function canvasGraphics() {
     },
 
     endDrawing: function canvasGraphicsEndDrawing() {
-      var self = this;
       this.ctx.restore();
 
       var textLayer = this.textLayer;
-      if (textLayer) {
-        var renderTextLayer = function canvasRenderTextLayer() {
-          var textDivs = self.textDivs;
-          for (var i = 0, length = textDivs.length; i < length; ++i) {
-            if (textDivs[i].dataset.textLength > 1) { // avoid div by zero
-              textLayer.appendChild(textDivs[i]);
-              // Adjust div width (via letterSpacing) to match canvas text
-              // Due to the .offsetWidth calls, this is slow
-              textDivs[i].style.letterSpacing =
-                ((textDivs[i].dataset.canvasWidth - textDivs[i].offsetWidth) /
-                 (textDivs[i].dataset.textLength - 1)) + 'px';
-            }
+      if (!textLayer)
+        return;
+
+      var self = this;
+      var renderTextLayer = function canvasRenderTextLayer() {
+        var textDivs = self.textDivs;
+        for (var i = 0, length = textDivs.length; i < length; ++i) {
+          if (textDivs[i].dataset.textLength > 1) { // avoid div by zero
+            textLayer.appendChild(textDivs[i]);
+            // Adjust div width (via letterSpacing) to match canvas text
+            // Due to the .offsetWidth calls, this is slow
+            textDivs[i].style.letterSpacing =
+              ((textDivs[i].dataset.canvasWidth - textDivs[i].offsetWidth) /
+               (textDivs[i].dataset.textLength - 1)) + 'px';
           }
         }
-        var textLayerQueue = self.textLayerQueue;
-        textLayerQueue.push(renderTextLayer);
-
-        // Lazy textLayer rendering (to prevent UI hangs)
-        // Only render queue if activity has stopped, where "no activity" ==
-        // "no beginDrawing() calls in the last N ms"
-        self.textLayerTimer = setTimeout(function renderTextLayerQueue() {
-          // Render most recent (==most relevant) layers first
-          for (var i = textLayerQueue.length - 1; i >= 0; i--) {
-            textLayerQueue.pop().call();
-          }
-        }, 500);
       }
+      var textLayerQueue = this.textLayerQueue;
+      textLayerQueue.push(renderTextLayer);
+
+      // Lazy textLayer rendering (to prevent UI hangs)
+      // Only render queue if activity has stopped, where "no activity" ==
+      // "no beginDrawing() calls in the last N ms"
+      this.textLayerTimer = setTimeout(function renderTextLayerQueue() {
+        // Render most recent (==most relevant) layers first
+        for (var i = textLayerQueue.length - 1; i >= 0; i--) {
+          textLayerQueue.pop().call();
+        }
+      }, 500);
     },
 
     // Graphics state
@@ -577,28 +578,32 @@ var CanvasGraphics = (function canvasGraphics() {
       ctx.scale(1 / textHScale, 1);
     },
     getTextGeometry: function canvasGetTextGeometry() {
-      var geom = {};
+      var geometry = {};
       var ctx = this.ctx;
       var font = this.current.font;
       var ctxMatrix = ctx.mozCurrentTransform;
       if (ctxMatrix) {
         var bl = Util.applyTransform([0, 0], ctxMatrix);
         var tr = Util.applyTransform([1, 1], ctxMatrix);
-        geom.x = bl[0];
-        geom.y = bl[1];
-        geom.hScale = tr[0] - bl[0];
-        geom.vScale = tr[1] - bl[1];
+        geometry.x = bl[0];
+        geometry.y = bl[1];
+        geometry.hScale = tr[0] - bl[0];
+        geometry.vScale = tr[1] - bl[1];
       }
       var spaceGlyph = font.charsToGlyphs(' ');
+
       // Hack (sometimes space is not encoded)
       if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
         spaceGlyph = font.charsToGlyphs('i');
+
       // Fallback
       if (spaceGlyph.length === 0 || spaceGlyph[0].width === 0)
         spaceGlyph = [{width: 0}];
-      geom.spaceWidth = spaceGlyph[0].width;
-      return geom;
+
+      geometry.spaceWidth = spaceGlyph[0].width;
+      return geometry;
     },
+
     pushTextDivs: function canvasGraphicsPushTextDivs(text) {
       var div = document.createElement('div');
       var fontSize = this.current.fontSize;

From bb6e5c6e00d2fc94fc02e23de91182b0271ac0d9 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Thu, 1 Dec 2011 20:56:26 -0600
Subject: [PATCH 57/68] (#840) fix font stretching and overlapping characters
 encoding

---
 src/canvas.js |  4 ++--
 src/fonts.js  | 16 ++++++++++++----
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index b457eb4ff..0913b582a 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -575,7 +575,7 @@ var CanvasGraphics = (function canvasGraphics() {
       ctx.scale(1, -1);
       ctx.translate(current.x, -1 * current.y);
       ctx.transform.apply(ctx, fontMatrix);
-      ctx.scale(1 / textHScale, 1);
+      ctx.scale(textHScale, 1);
     },
     getTextGeometry: function canvasGetTextGeometry() {
       var geometry = {};
@@ -651,7 +651,7 @@ var CanvasGraphics = (function canvasGraphics() {
         ctx.transform.apply(ctx, current.textMatrix);
         ctx.translate(current.x, current.y);
 
-        ctx.scale(1 / textHScale, 1);
+        ctx.scale(textHScale, 1);
         for (var i = 0; i < glyphsLength; ++i) {
 
           var glyph = glyphs[i];
diff --git a/src/fonts.js b/src/fonts.js
index 2e95a7c94..672739ea4 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -1705,10 +1705,18 @@ var Font = (function Font() {
 
         var cidToGidMap = properties.cidToGidMap || [];
         var gidToCidMap = [0];
-        for (var j = cidToGidMap.length - 1; j >= 0; j--) {
-          var gid = cidToGidMap[j];
-          if (gid)
-            gidToCidMap[gid] = j;
+        if (cidToGidMap.length > 0) {
+          for (var j = cidToGidMap.length - 1; j >= 0; j--) {
+            var gid = cidToGidMap[j];
+            if (gid)
+              gidToCidMap[gid] = j;
+          }
+          // filling the gaps using CID above the CIDs currently used in font
+          var nextCid = cidToGidMap.length;
+          for (var i = 1; i < numGlyphs; i++) {
+            if (!gidToCidMap[i])
+              gidToCidMap[i] = nextCid++;
+          }
         }
 
         var glyphs = [], ids = [];

From 05c1f68d6847c0ea8bf48828e4c777f71530b21b Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Fri, 2 Dec 2011 06:55:04 -0600
Subject: [PATCH 58/68] Add PDF from the #840 to the reference tests

---
 test/pdfs/.gitignore    |   1 +
 test/pdfs/issue840.pdf  | Bin 0 -> 152333 bytes
 test/test_manifest.json |   6 ++++++
 3 files changed, 7 insertions(+)
 create mode 100644 test/pdfs/issue840.pdf

diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index a757acf34..325987de6 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -16,3 +16,4 @@
 !alphatrans.pdf
 !devicen.pdf
 !cmykjpeg.pdf
+!issue840.pdf
diff --git a/test/pdfs/issue840.pdf b/test/pdfs/issue840.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..6501a8c957266b689eaa49ad5af448c3ecc2d54a
GIT binary patch
literal 152333
zcmce;Wmpw$)cC7(xItPP0SPJT25FEMq(i#9Te=(RmhRegcXv0^-Hmc)<MY1ff3EZ8
zd^%rX&#YPNUU_f$&0O<APFR$Vk)8#KndB3Rm98lg4-bQ)i?sm>gPe|$0TS@j*1*!9
zgb|Q_MPm4BU}xoEt7l+G!u0Qin5~tAHOc?#{5xb&AYo9n)v>g*hA8W~kT3`VXM_zL
zP4o=DiV5=ZAu$M9S=s}3?MPT4c7QVmmimy@A&38YA!=f7Z(vKpAZo5-Zy;=-XQdA~
zC1qe~WN%Eu$i~jb3TWBc+ZyOtAUUU&dPpu2)<v(@?UdhDeW^O5TxO^qAo~*U9^FS2
zjZ3*8@6;PdrI5{<Oq@PL>+>;lynt_oV@8~a4|^prUp7nYm4A_-=I|zQdLbn-v6suu
z)AlBOMxvNSdYr5K{m7=3cD&a_FMq_d$F0SE#gm)u1NF98#-CV;$TpM6(^k)?orN`G
zhx-6s;DTeldzZ9n1^Y;ee9B#7ZO`jFZ6ZET=f|_5E>u*j!L@RtR##{DyRD7GzziZ!
zPv<{pkrx9g7r`!a+p_e}rv~>|j~A!>310WvPfK&p*XP^M^w1tp2}Z>34}$!jk5koT
zi)pOj%A4CxIa}=cuX)UYzZ4Is@A`5&V+S1KGI*M4;@UncdaY1>e7ct1@B4$0a{gfR
zWQFTH>c6TtY#?Vq&dBd_d53?yMVRHtMx+oBORN_nTjZTLl;H&>*W2+9*{<e~6Is%e
z!Zh?iW-d9a6b{)w?tlXQknmD-r@<T9(J*pw+>i<dNvSpNb?j_vPSj9ThOWv6QylI9
znFQH36URIkvIgAs7CI&M*5odwg>wDXUx~ozoS(M)#|lg|8jTmNyX5{FjaOSUNC{=`
za}nfeags(E_F5a0JCu4H67Lh(_;TwzbHTEz;p8oGl4j}dDjSo4bzmt;jEpe#jmddR
zjNqIGQoV4`K}UZ{!VKGWz~I3vMeKT7N_T5AiOR5<hk+t2`fu)4@v)e;g-;4HG#W+O
zeS6V4D!rZe#5nbDIC(^RBnIo>h=f;pdJoA>Bc_PPe8t7LozPxJN}%Q`?3X}lkUF6*
z+v9tECCVQYH#je6+<>)0iRsYEDf6}8z+To=<Q5T)4`1SofjPoH<ie~13<<j!L3&>g
zTbf2$ssq16-4(5<%8q=>mh4BE({%gafS0b9aZ2_Xa?`<>FY9T*s3B`$J9N4MHglO}
z4FQ{MKRY7HbD7xYU)}tMN)Sow4*)_iVV!S)Tu52~2_acm5LmAx(b5eaNY^&}MaT(8
z2v_t11=^6xaYpCM5gHVb|0<OWN5EuHL7jPQkU@zcw3oN!H(JjjAo43tet)bL_-3X`
zD|9D;-iM>~qmYx$P_7M3K#$45+ML!piHD#DTB0!Qdca3d&wJ=XGz?Ph#P-U{b_01z
zjdwukC6U+!_{bUoy64=GtOTvktE^WQU<^b65zN9vM}))D114D^tsn+5xli|>NiAQ9
z$!wXNZXnV2uOUW&G*nBI{;XUzfm~@4+H=YYL^u22g<Gu>PguBSSR8CXl@EkJLAqhH
z18^mG!g?Hqyoagw>8G+ivG#OuDnxD3`=5P3mKe+-m7kCc0iVqwjq(v5;?_?*%ePOk
zxQDh-eZ3C!n(~y{+vElsjpiMdHffT|(};a+!HT_&aWBDsyvc>sj^e*~&=x472UT#$
z{<-283dxG`%Z1`yAi;VPJxzrF$%74~AK?0WA%&c`eA@{u=>7_F*gBt(4Agc1zj(SG
zec#getL*apXHymu9=smV_yHSm?=_+;Xa9>we+<YM3+}&skyc2P##i>fh%ORXAv$TZ
zmTxuWg)x`Nb#aU7{!3OrMDp`RLRpLN=Pc6u5ji6KP-9Vp_HR4T3pJc&D<t#TGUn_E
z=RRTJg&+TN$1wz~<tG>UGq#(8dzqvgnQ2zApfBV^FO(}9(k1AEyh<|Y>eIo;aPNUe
z#|94ViSa{vh#>{&D1R|YUMrEqGz$m&UndYkI^hwF4|8~J?faIYUj;dfh^8@;?m!r_
zlSm?5t5jxN$U~g87wA<34ktWHdfItJzxIFdb1hMss4c+Yi~x!~OAhG~)#>1M$XdM+
z_b*x<Ad~Me7m2mfX9~~g8}`rOgoim$Tq21O16shu9v@(W4Kk+hr}ac`894=p*FS&#
zs0VtH<rQEsTE{TaOV66IBLD{x7U+dxtkf_0&?hmBipI1>d~uliK=>eqTsx`~?j>l2
zX~c5K&h_@7GW#*{Es3Eu3H8tal?7u$oa6%%l9(-X_X*fcR5l4ArMW`Vg~J6z^rbH%
zeQt;d`hOM}|1TpG9$^k|nK`0>K7L6^n1m3OP%Ek4zW_wi5ME}R5z=yB^WVq4*N(0f
zK~rrM__QcEOcLXl6Nb$6uQb1OQ4L7`H*%3QYgcmW_{tZb_Xymmprhk#3SW#)h@=IX
zkOL9my+oHL_)jlZyGdYNLg-(@yp_}@JnXM{<GjURngnY_4ClWA{-;Ig{(r0nSQIyp
z6*njefRsnfZB7U`=zq#nGxU~uUR-P7a*`gh&qx|UTmeR7coF17e;`~z25dnyFJ2m(
z{S*DG0ewi&*Z-}!82;4%VbUHLbpoK`B`7?&Ux#zq{&_haLMar|0Bj!mDZ;e>(l_zt
zRt}EzUn|>Z5V+FkxYWn&z<LwWB+DxCMtCC(s`!11#A?YmMlU;!q@mV&yH%NeO+KUd
zE+~^FIG$2qkQv<#C8r^N)xZTQhv&4gkKwI=iQrq=A8|&?S5IPg)L>*E?)dB!g-A^j
zpUDdC^e3uF`lE)(ov&&*Fpjh$w>d<0pJ8%!7<kU*iG;>4iAHkc=<{6`e?8?@_0hf+
z*vBH0b&XpKyh;UZr6EIc#W!<T_R+i*DEt*c$us!pHSgL4L9Q+68jYox=DZ`H;SHvl
z@pD}7B%+&7hS!6X@7AB(H}IXdnM}U0%#V*oBA#*JIifWl=zQS&FeuOYW3Bsr7!juX
z^H87BHK!qT%mv7c$BT*q8w`Gv+tyDsM*I+J0b}(*7BOnbQL<Ez8@k=o*T&aMm8y<O
zerEG2a<+s2ujsE%CBuXANdD=u<zFAY*6l)(S8?7$>3uSYX?yy+0MF1m70K^$d!(J-
zarAuxHBmQ_BK6yDM+-*vX|TSRtMm2Q!$zRR*P&t6#D-t~=OrlUh;Vr1@ybCCygw5(
zJ#ZyDs{@U6%W<XCcvs^8g1pX9Bi;#nf5-RAyHE~f`CCUzChiG8H2edscU~bxDiTX8
ztkrHUNIYuT1zNi*1i`oZ7J73K!4q`GQH&eWhHanwuBG%vuJJ)lZ#!*99J5rdXk5am
zzy;3H&E2^e;qj9Cn{F?zZsQqaehp8!P#2+mpLf~M0?PAZ+zQ`iwvoe*aM**%#c$^4
zYxZzvr%zSO5=o0U_V$_~`$!j-m4#00Tx==dF@}}(wS3!Ns0ZyMJZUZyGD|HkeVc*3
zm`Dm5HlFmep*<Px5_YGbnmRVTMDJLI;YcJt`qLw}%m?IJWp2-mgwyB8uC+lguhm~h
zPQ~I)XcgE3^RIl#!+sg~WjM8)+Q*vyxNjOlF!pQZ8XO&3TAlEO2@{=a4VK^nRZv`$
zX{BdPGh~n_=Jh2!|K%th*{moFqrs+xEqbbab)ENgzrTU=<7i_j@RV&nU5_>6rnoLp
z`kq{mCp*fV@$~@X(^4QYQ7c{N`BEhu8kurF?NL5$6?L)qbwXYV+@Hxf|3`&*#>*q;
zLG+X=wq#%Gl+PF>IfEZoc%#Oa!kz{bo(2x#cwV7IoKSFT>CWVrBe$|2@}IV|n8H-&
z8nAxqkj_DA?;hjz4p#lReTrn*jGV`?o-h0sYvfZsO5OxnB1`hk$UI61_jgnG8Oy?Y
zhKkv5oIb>@i&;9uQt^1)f>Rd;h<HUa;6OOO)58)&+L+a-lfkc<S&g)GZ3ZK7;rLlu
z6IWIgUbK>AcPAdJMgA@Bcb0W)U%v@F{$0`Pr8`tOLJ8kBP;L2mv0=4s?8;AHwq#-U
z<e3W#XGG^|jX0X@DP#JjwQ2H4fDEOzD4Y@g$m>+i$q3T&VVZ8H5MiyeMyug9tYvF$
z9Er!;r~8AL)E*tgU>}ra^R8zUnl^D?<@~L`+XdDu!6VU1VG({ITI^hMsM9GkS!QA1
z+-C7muksddDVcZ{;a7gFk5%Vi*b2@WcqQ<r^IzdKoeM;Abo+7MSzLw9jNHA#iElD=
zZ>PEGy_4fUgl4mb)6=Wr940xkp1mmSkcVeu<v3E@u8}sJBQ|yNyb?l@d4v{eb}!=!
zoM|!(65@@H-43Vw5sGP!te(hL%j&^#oKl$4hsJyvxkavDo$ymxM)%_Bd4J<M&JJ2;
zLR<D~loaPZ^y&lA@SXg`+_PR>+01;k!rd~0cBrZ88P=x6BlO*woyeIEtq&=;XiC#r
zQdCFa+-K@q4e-E6cTc~_0H6&A&H~S}vQ1O>omjm*@6bY}JnP`~%10JBF4lhgN~DBV
zB%suA-Yq-*P3p-u3eea_3QF{(k0WNb+2jv@nzDXikHs7Hw=EJ3nj!SofDw#%XDDfs
znz4cV(0VkXObO+3VTKD6Ig^rfC(kJsQd{50Ifk94K(<GBE|Pc6I&Mbvs&L%ZkWz`t
zI|!-IG-HZvk0livj2f{ThErO%_@#?;mq_l8Kr+H7`dp><GAX*li@b|gU=>l5WBEYR
znqqGNA%JRdEejE~cW-GTs%<8ISrNk_URqgtxS2(hRd!^`{{C?atHQqH+@6z7(}IIi
z?I8dK+pD8ypw^b3zQ38q?s5q&r6mZ2q<~1xdpdOihcSS~$M4S&b_OnSP1=z-)6ufi
zKHi{r|4g1*kWL?QHens{ZOoQlz<qN;?b4uFZt+SxMA1c=<x<-@cx6BhHPeqXD&3o6
zi*WYMYQ}eZ>5Y*$t7>gI9cEDdW9rW5m#tit#{Lu-U;7@<ut`&B3ZD`eQ)RRmotJ=I
zwk(<4u<Gols5_JT8M|1ku{QkCQ7tC6vtPhp=v)lsBFjULtTU(hLBtglxu;qmeL3oQ
zf9;~Wzqa|@O7-kfmx5V->-n8|REUP!!GfqFLQa`=Y9$sk$UNJX9n~=v9&hxX=S^?-
z)?HU8NX{qZ0?JDp=85df{v0a5O%vO9`}95M09#p1-n)F#lD0KBSxb>xr)ud9-jp|n
z$Ac8mhfTS{vC*fNNR}rj6l4_x-*-+tnUH!7Z94@u`5IMV=aBH?MdbfR+W40xC-9Xe
zCT!y#g^jdcsqouYGrX@WQ#W3OpEuFho>Zt~ID}8}7)UpgJ!6V%8|fN4a=EE#Sq>lm
zs{wCntrdjWdtqoKc=nZL?v1p&*eRWKbsfus+N%cv#$T5P@+NJc{dd(J7q+Jg&lg0w
z!F+!dV?ol3b=syjhE@2ezwvdc9z>a$FEI>Z;N%L-^SRqD5t8Ai+mbgoa>e+)dU>N+
zK1SB1puS=d-{nv#klTK4@_DG+6XUmA+$8ra^ueVSs)W@UazF6X4S)NAW_5UYJRqDJ
znKw_b&ei&jDBi^VxBip6dF$fAgaE~hGN)FryPb`clvvKQrMToIdoB#Fy!7(3eBH4>
zXyr^=KlL{GPf@bnJX?O8tMB@SAPH6GW`K!MwPoF1eyl1Iqj-<8U2-BA;ZN~|Fs>Oc
zAsME)5IR;9-kUSm`R@IuAy(4|2`Gf2AWeI%63n+{H_|$_pLnu=4#@L%v#a}af+GTd
z@0$9=g{yGPsn3Q>SEyu|b~W&$S#*U`&oGSL&pV8%??yt=oXJ@DwhZqTMo_n0tKOgT
zz2rN1C;Pdfr%O??v+@AFuR{bHT`-#LS$a&>&cPFcqJ0=rw0$|@dwdkQHJ^~9p<SA;
zpOT6%**|@xg8$xxbq@7&scpl@qXpi!$X|5qhxv>tJrp9W5K9Bf@bHbr-YZ<U+IlGH
z7*TRnjh@UO>Sjwb_QsT#SXMfAv_vdQ>ik%!*3{AsF~l37Ioa(oy~?(eWt$!jSbm!`
zv#ct!^*J?p!lxtysUU2o6LTyh6i@t#`_j3Fr^`?7^>%so=+>sKV!Ojh%wh>-Wc!_8
zPmG^Y=B~Ic8{gNMxb8-=_}2dPjZ0F7v7m#R2d^v~n|C4i&tsGeF}+d4oACB`Xj;O;
zHqXIq!Pz$UQIg>&%wlT!A|CPU>*2PRFl<o{mu*jC(u_n&r$GU?K#!f`?{{K0TQKjq
zK6@L+F`i!AZ~EAY-P#eJn6_H}DPQ#l@$)Z1!wnIXS{%W=0$UW83~Dpd?r;<JDpQh6
zQIc07nt+EHWDt}p@(fI8{vaa4J$ewxitAzslA*g8MCA8px*gevw4YY5c((O*MY><q
zm0hPu6mh1dC3eQR?RHNq-CoIx@6h#nHfPjRyoxLIPipXQu-ncoKmCrraoN$?ee(*l
z;X5qF&S=svwKqB-wk_aeitn{oxwP)ZJ8{nlGfsa+99f5qj_XzK=3du6-rnM}jAqQy
zuwHp04gQ|wkF(u74+HPk1+-#Q*O4N5K3+|0@?ZOoxOM%T(ZZ1bX0*A%bFTq~W&I~Q
zV}}Z$x=mP2-{?sK4@N*fd8phW>3<cQ6FDnxY_pg`xpzqsn2|7ZZrGfxZw9^d#Phb%
zhS>qMU3ihQe^%Hw9dqgTpxg!fHAe##EnTf)8$?B=^Xc7#+@C=me7VOW2j=V0;>zn(
z-i+5EjPly4ip7RCo&E`yPA1uz`BaWD*2pKkuy=5lToDS;VDDIh<v+xmiJTD@!pNrP
zHLPfc)!@Gkv@6=9nDai&`f+e8kNNHzt$!nJC*57_jNsmlL4ki7R@9<X&3)gFCU!L4
zR4Vx)HQrazc`K%2B91eg&(D{3_`qVFrBhd|{i*7^#b3SOBaPhN{SnlCm^~rSe@S#b
zi&)LJ=cQ_Vv~i4}pgPfA@Q<d&%l4pfQ^pKCtCKR{r!Av3ao6JvNWl{D36<^*kz#pn
zEgqFBj++)OnPPF8C#14~*iLdP6)tN97;Pqve{z`bY9((Lj5^yctp2E3-#Ed4rqkl#
z6I0k6TH!qf#VLRk%z84-b7RW|g5{Ybcwik(N0ppY{o9W*sKADDlTq0E<{f3mOehz3
zpq_x1K3ZR=CJuk-X!Kn%qC4NKxA50+Kc^Vf4>w)Zywg{Mj4c*YYvNzy?7|e+-f|}4
zO<@^nkDfW(9+@1^r;bMn+u1tyL`Pizg|k`}On45tVQ{7=X3Ra7a!e%znNnmEIG>Rj
z{AzZ+YrW@w{<BITbIMtR;*MgLfuHqfWv9ZC{r$+i^zkVh!)vz=!o@W;F}^?x@!u6e
zuN&UvQ{Qx%&__K7%ir^d&6PJzP5vOm%(mF$+gEVcIW?Sgbv4LxFs#=?V%@K=Qo&$n
z4W?15{*GaR*>&w%KOl2u6!wctGc)U*VeOioZ`XyGK%*k;l+-C#4I{y@<X?X{id%;I
z{S`B4<KNojy|$mqIo>(ajCyCjc}tNs_L~~jknFp6@a2MatCPOZUB==e5xuro@11Y;
z;hc~a43oR1_#}Q)>upx1))^f`yf0c?Fy{&);cvaQM;wliXEE+QLVYThb-27tfhIe0
zJ#^k#WiBlVj1y1#a&ken@Al--(^zj>wQGHYe9pa;KCPq3uSmAOop3|EPAmA$s=bxk
z`Jgk>a++{Tl09)*#9%Aa!J5S>Pn|Ck*H?{>W0!5<YsqV_KNHO*-&fq$&j~7;^Ln5C
zRmNin>-$!!EB{qx^f&PXVY+fCvRzE195)%oL2BWFw4crOLeroYbNz2IT=GN39sQjC
zr27FFKW&ky?TvC7PTqor`0-T>b7ZE^iay!Oj9|Bl3+JXL_tSI%SBmq^o~hHj4Y{O@
zg;0zH3szpW2Y=z5@m3CswnHjIn!N&q9h4qQJSH-jNO|hOl7$z$r4}b|S%s|dRS|P#
z6wgf=b!DJoLaAjG`%U`)Hn)rrX1nfLk<sK%2Y(DQRNY{K4O@H%7?nP0?g3<`dp2Y=
zg~GzftaUkLuvF<M96$yp(&`!-gfMA+q6<`R0)F6Z(WJuB9(M$N;VfnAN6Hu3op)U!
zh*L?nKEQC6QRcWV6Qg(wsI8{fH6>xtaf#`UwD(l8*CR|TarpaTjRC8P6gvbfG{G9l
zA-hrMTO(IO*2=SltfkWMJy-!Fu$BEL=BTuTkR~;mP9hRmiS?lQdL*>~MQFgqP2xt$
zY78kK&+Zl%&;Y~qA?3>{rCH!M9DUoPRN25J-J_%YxK$GXaCRh<Z<SWKP9irCVFM4y
zsjgIIWsp_&;xvA<SRm?8&uR^tbe2S6$z)}!ZUKp(m1_n*I}5!F4lyW?R1x^@uRvAx
zk_1+0d*E}mrC7G^!qU?NP3nVdI3M~?TeZUvz%q3R=0iaS3~*ue`{JuTCp{m4&d}tr
z3bhL?*x%kO9BGMD2uwf4l6jB2W(SDQA54JwH816gf%sWnT>#6CFX8uQ)b%w8Dc)9H
zO`ia+jkIcSC|XtK2?LdN+@-TUdHap`Po&zaB<D9=cXFCkL6>w$N0cg01E235_|dV3
zR+W6MycH7aNa=(X`wNF|n!k;vQgy$pq9coM0n_%N=gWm?+5j$?&AyZ_2;z5nC>q2X
zc3PJRq-_JNXl?K&t<}-W`d5`?3;^dwUQ!^CQ8$u=;eT=DNd6HphO`S96BdQU!<c0n
ztUxtYCJH3yP-Ey_>u6zD$Us;@+!S6FxU&${Wg${e?q)Wyh$VBZv=s>H90@<bWi04g
zgRQE$?+Z&<GT}ZI^rAqVGNE-?Wd$@Lkb3%)hDdV7D5yLpqXC%?{ZVSIW*>1}OR5#q
z67?168i55yEDrhi`H9+1_Ji};cII_h=OIU>BE<<D{(?yHz?dcf{%zqe?O0zLq^w`=
zj}Z5Pa6q)=wh!V#bRQ&Sy(Wmrif*8;+oZk70^;*JjunmhIN)<Lshj$Tdn_4`J%h2}
zf;fd!KtQVqqo*!P>qaM>NxLszyGNi3Nr2hR5SC2nXyuAh4o%gZAk1J)gnsGi`wB?m
zz(7F2b(|5x+f{SqXVE2)Al4yU3pfO5U9MZGx}OCaH>Sgi8XJmD>GYo=eW;&=C9}c6
zi~e&+E9kT8WOT{mmj-k|Wsr7NDKV8~*oFjBg2fZ0{JcE^M(b=rnacJNVA0GlvLz<n
z1v7N)8eq6_5$yB<YZPE-b)A65YH$)*<p%G?p44=U#)p@r@|0TR3Cc<q3injifp=6l
zYW4`IZGn(Hw3<sliR_-~K#JYV4e|Q`3;PEFq~EB2K~hJy1lbV&vp2!%vjZ%(SOY9o
z(p5x(FAtROCEtlGFv?q!Rdd}vOGw6sSo87GLt1(jrfX37T%ZoD`<SB{oAcUE<Iry&
z-o_TTbO|kQy{mG_I#7kXfTjMKz)b7fj|Oryix+{MDu{;qlM^U9*CSw1(>@{*(sjk}
zp$sI%CaJI1kw`yo*Tf5`Y_RO7lV|~RY;{;(*=cgcTkiu@{l%UHPFhzrWFVrf3KQ(f
zr6v_pf$F~G#eRYl9g;wG<OX`115MO25=eD_^<&9sp3HEYKATk@&CvTq>ia7gxmm*k
z2|O4E8jPMxtb$A)5WTo=V)jp@W=33YZE7mIFRDoI_Trz9uIBrf;iJv~wwY`Lg5W`e
zaugmc#nD2xfBwyc<ogVA0-L73x+uL{rNA_L{+HXAm@rA@;_Y(?Tqz1%>f>hN&M77F
zzAEun`G_Me`0d4h_)}1TUv?TVNp11gttyA`!_2RbK{*^rchsc@(oN~FP3iNhRnuR&
zzV9m*Q+z97^BY6<xjBk+vYLMctjHF`sTw*d!<+0Q9wL<Ba<J<k)SrHDQkGjO&^(}a
zC4Uf&Dg2cnrfZ6ip_}EZMAnYZAJp`td?oIN3W=1um2ZnW1Ls8BwKu;Zz7@`f!fZ8r
zo{TCeXa05n6feUamTPT3=NC=<kK)VIQ`2DR!%JVEWVd8J0qHZ$q^!)m^Vf0pT5?l&
z!fCWa%=K*FtmG#%3Nj5JGv~Uu#;PfuaghcCHw<og+!nP?U|ApS2n#yWYrA3eTxbdq
z4Yu7|mE@{hH=STv)6%ZLGK%ylMSmNAQaDy=9$}R+K1_3N(oY9x$rKwLEM7Vu<yfe7
z)ZDmM2Xf^%T14P0Z4hhhVs-W~UCY{7PO>7c8avJ@rNMj3fIwjBRX8xNNms(3afKz_
zD)NZI*VUiKMD?mUjYTf*I!;$M`>crF9-Y8}KNb_%5S*Fc^p|s*26$&!y;Af-1@qZd
z6P<-qufF;9l!}7?YPvJ7b*NEC_)Vc}9cxyJnnU?dJ5t#<qQ{x1oEDNtgg3a)4obr`
zW*TvwYwRh+n4x|;!F?`C0%lfu-IdfPHgr|#d>+!j{b^ZY9jb{=L5BE@Oji|!k+td4
zh@k!EVpIlW7(#>^Okw0&SMH8yACLalPOipNS(;>alHF^(!U<C$Fl^@_*NCH{Dg(mY
zAuAC96^NQ-(=Cm9)l6xrTQ2uKp?yjVZ%;b064{)w)Eah#>3E}UX3PZC2uhY7>a@)h
z+>oe;Oa9_=bAC}?UJ>Z~YTRc8>u|e#(OCKw_(b*(^RJIspc9=w)I*=01Wj5CyPo~M
zMK7}=_H3Z5RpU;ISW0S4VAD`TDlX|^*!Zfj^kBnv_-EA_gcSOjfbD)}lu^T2ywAcD
z^)R+_)Mx7WjYM*ha=VxR2h6s1QCz2Fj{U`%I00OaIPg;!D-|Q%vO*wyIgFfOpoIsV
z!IoU@`!t~>VgG5`00BW<*r}A**{?%FoaYOV@AN=eaJ64YN*ng2DW#7mLE}lUR|Y`?
zYA24FmFq}Y+m{b~<DYxYdn{C^G>@^MlLPFRKQzof_?5ci7?=Ed7k(-)o^ceKKbl|o
z32xhm3hFd=c6B4KYvP^(^BCphogB<T-~87YFiJ+7_N-xlVW0LhteKjp%ap6eqeq|O
zF(_k4P2+TtMbCv%`k<WM#{|wQjXT9~D8B);@1AV%IG``LnaQ*|tBD<=@|P-|$~Si@
z^EZL?bVlgYv#U1WRYT31Zy89DVJTmJW)wj`!*Hu)DIYr-=|&4tX@3!=b9z<(IQVGl
zMu461{_+S>N~*wj6YepNcPza&f&DQqz1Ra!Ziw<Ru99ayfBiHR=UBnL@Aycetxi^_
zGxVd6n{M?N&|bDh)gk7CU1$x8rDgO(!{EWbd12cOeae0v0Sqa@yy3PTm{IK%rJwE6
zGEe@ea&3V}RUIu%n8gyag^=l*w5DB<N>%n!-mkxk?S8Z{I1gA;0($q=y-jZo;JvA5
zZ^f6}zOS5@R~+rD)}2yZ@2JtR%2~XtyA#T)ocXllfzaF*$ryEh&^@1xUDV}NhrK#H
zznJA$3eH*}^XKwV{Iu$T)ASm<c4@rtoQwt5lgcODfxb{>w5h<<^w(mAc>|gta;8r3
z#!&Q^-;dVBk|die!LXk_6a!B!Em&``KleVM?IMqJEwz+^=UJwq_?eR(+rFD^B2F<l
z^3xhUZFYq+@jg5HUWV^T@=D^@(EYj~tx3ER?)@2A9oyImtIy_dj%uMlJ{g6QnU-4g
zjh;iV>A{u+2dd6=%oAz1A4@=1UWYgvdI!g|n>Z-Q`q%SU<w-av8X^)iG)e0@sU4Kt
zk`#B}xBccLcFv(Hgjl{QK#!5J&3)H=uTO1X-i~bk?uNP6{(hwEIkA(?O1G#mlv+n6
zbWNk{E#1v@IM`hq@6I@Yu(fa8_RUgM1S1UP?h(huTS@}9(&wcrYp-6l<?@q~I+v-h
z(wdU^)}_wLax|3dneK`t>pqRB8U^$bdZj#Ya0H-z6&i-eZ-ns-R_(AH^!V0oee|Tn
zI%D!#Bt12p)~emBvYYtku6KCNNN)06r}9O5zg6ZYld9No{2WSE!~-nHp-PZ(*=t+z
zmNdGDD`kF>8LjP*Dm9%G92&cF<}O-X(d^B3MlU`#qvA&s-0o2@3Eax<;%sY_telg(
z>8$Q4QjYB8W2v{Y@q>FUGKlTGJb#4oo5{qzNg>9Y{K-aMxBVB@ZI#`+gHu4&f1L38
z5$e=wua0-h{nUk-3@IAH!I`wsV_o;zrOj;zr0ihp?pXi)nS)yeqh%}tYZ&F0_{gyD
za$)1I?;~#%lWX|sZZ-j~Y0Y;zS8vKc&ypD8n)pRp4oE5%??Vc?VN1FO=~5J4VJgq0
zL5&I&QFFrX0cQ{3Qxtvx!?SJ>K2_N=41kuUp%v=!jKj~YuJFMC0^Px^z>|EZZHqMR
zbR*-vZkRCpng6Udl3|GG0m|TT+#8OPHN6pW(R$a?hs8=PcF}vnv)CVfNJ>RFjn(xH
zGcq;>>=!lPq<tA$l>^+RHgz%kF`pjyg(_+L69>Z2{%bBRG<hy%?uK2TOeA=!QlL6>
zxY+w0&<*p9^)UNYylfSs=%D=r$Xo0skj#RYzfh<ITicb}Gpt^}U)_=K`nU)0xQY%J
z$fhh_7;6k&y}hCZUA?n8;cuU)na1{`edAphZlbrhgb=!B6HlLI*@4_JMxsq|>?_^B
zysLt1)nvQj!VWS7y=pxIj%w&(tS+rx98Dx2jD1{nOAmXen2b>L@F(w0aBprO4B>v2
zhC=H+m83?uVZLi)K))cypgP^7SE_S7tPI@l@*fyupCkOysn7O?mBgZY;tR57DyU#D
zhKh(}cz7z{Qxqa)a;|*92pmXa`A1E_`}ENO8vMbEy|})>u~Vlc=F7iX0S|%bQDDUt
zR+8e&AomY8hGpm+j41K~ZX~?$RUnC?Y@w+DA%2qAs*gVJqcVPDjn5T8r8~H;{(*D!
zb6UL~cr}If=KHK@wGMyF`%lw;H9BK@^f~iJDluChgP1SD8v}auH}jMMypat6mN1p!
zDFd05*VQJCF{&VUf-{fzmfU*Bq+up)D5XhrbQxx@jh1n}sL8d~BG;HMSMx+^_=Ldo
z*I?XEysomb@!=mIren8Dwfk@<lgH%nCmUZQZ)j4QwfG=wIf?Xr#(3T);W*7!%}T4I
zVqIi1RyXoB8y8HJTE%`IelWLwos>D6=>TxhNmk>QZX%2EfNUCtlLN~63xX@&pu^;$
zE0<llU(kWIwUrGBbfRArzJE?#;X&6x#CpasCJU?u?YoL;A%|mk>izJ%2o{z!!x=jz
zG+o=XJL>2-?Pq`n<+c@BmUCVx=#3g%4uj(j=b{2-zN!n`Vyf7oLHUnjgEwY@4dRtc
z1p4$RDgqT&`-EMOY*h7&MImjKE*`v@6j%=x;r==2w)+pJ%;kCYV@pwZT_Dku!N#d6
z@Fof`Y!enCEF77W!FhUFueEP<Q`O1UAg{vP$Sxto<vlmhBr0-2MJ6$$_0e%x<n!q$
zonAbtR;FQEm9HH#!EaM*%MW3gq-}CY-)*DDg3=r9iajgt^XGwYG_9NY3M;pye_v?3
z*t~Pzu2MB*6z_(7?S?jCuUL1nTdSQcdz|slV=5H8Coayi8lBj+=XT$=1c%JK5mB{c
z!^=Flgh}Zc9Xv4^mc7R3!alG9OX+7dn~#6mRZd-;CW?mtcyN@NofEUs<mf85;+%PG
zj$N~A`>r4Q5A`bi6U)OX!@{&&NY#3gc{!HS=`>$+^lTl}wu(o&9vz0{%3H19Z`Tq8
zTJf?AWQ4CZa%)3mUFe={ECwe&m^`G)(%rH}iX7!&@P}m4CjVXGA}?G`7}w-ax_s+)
zup@bO_{Z-SWqmD0lpmK{Ijht_uJ+;ET;|q<tchupvhxoqj%s4+M}s^1DXE*ejDtJj
z;&xnoH$jxGm^izVAewomHhwU#W1FuhMUZH&RCilu6$0CHt5tKQUFjlRfMfBrGnz#Z
zoFpdk&%9Yzk+=Qx%n7mKZ!GX)6jeS9TPCfe;{I9LzM@H<S>Jc|m@BEZV_h&rF`(mc
z2Yo5I#N&!nsBY}Qh%VNnO8X7`kwy28s^dq<_fR%Y%Lh$iE?=%0yY#Cg)X+@WvFFDW
z6|c=5(+cJ{b4tR`cx5V0%hAd#(iR6HKdW&u$1pVLx_$<b--OIw#ZG-VkUBtHc@C>P
zAR)5+HBO(FM+7y&HgSoI5UOsokvB)*>%xXpnl#+g&`w0;L7yk;+%tzmN0OdqM_<tZ
zAY6`HQ-M*tt-yL_<AK{C#(S&N6(wBu7DGmQn|agcYO{)&T7?|i{6g53%pYVAM^bi4
zU9$o9Z`9e0ET524Zd(&Vo^k>%q!<((+oIb&Z!BZ!p4}fkdltqR<eCjRPCKXlIP}bV
zA}*(O%jS<er#VJfKczb9n7XC@Nt&zrO^^v^=XCnx*M^uqYjYaC41XK#d4zB8?~#)R
zTs-6D%J@9xLJ$JBRjnPf^O%6%x#94Lwfz_WEW+QV<IN6dpKUwL9fTtFKVHCA?!7%y
zM6Gs<0J|{xpD)X8Me7T0HR#bH(uxpC)QY96hw#K4wfa)#RS(4)mUn5|a4-Con=T`k
zut-ZYr%u=0uO*&QFTeNlS5GW5Tuw=85W%SzaT>W7wd+c?lK4I$oo3~&ZjZ6MRO)_h
zU~11G3L2aj;9IYV#)QKE#t+JvOKOZ&4(Q^kJKY006z5|qh8(NQ4V3x&2&GiKS}hpo
zCT=s9M=ck{h@H`3)O)zsdHpV>5?M&-v>s~s{0A+jBLZwc$5lt{H+J&u^)asET>yBU
zC?TV@C?Diud}~%rNu9!mYeZ|&HVq9D+!<4q&fpeyD4!7pNI}4GD0qMq<hkcdS!_8U
z%%xQ(J!&H73p^-cDK5+?=ny=WU1Z^LrauGXmLHO=9pLm&r%nfm&H*~ZBE>Ey<`-`C
z7H!933~;k~N~*$Mk}d@7U6*KXOfP1krk6D9P?|dLvvKBcQ{5&3YNn(Ns}#G_^AK6L
z4rP(cJs^7vjR(=<I)k#bl>y^EtPczlIA$j&SjXBGu}ObHMkYj;A2wF`jS2PPS{(Q%
z{^xIl<?d9tJ4qV=xR{{@W63~cc1b|~^S7vkrAf{EfdXKPxG7VoQtRaDad=s!i>M$$
z_koxQ%uJ(@O$gV)qXw`S^(STsse1(r7jI8qAs!0>Cva}7@K!Pad{HNE_MHsGkm=y9
z00375ZW_eHL}&m{O>oxoIp2gFf#{*Y06s7Z*#-2tF6|cqMNHScc?gZE{agiMY*0ZE
z!gW#&5XU-!Z~#2v3^LR0iv!QSHbE$oXxeQ@3Woo8CJ260c002N5GE`YH08%_#o|jo
zXS?iiW`78OE4}Ukm~A?BJO-Ann&uDyJ)5_&5221>7eY<u05TVdmmC6tY!@!X&7AW6
zz5_3*knaLw)b)Vy)L#2l_*0aL5ot{bh$%*|=%l`qvH@tzl&eS$<Z~rN<NCEENr^QQ
zuL29;0j4BAy$urk>I+a6on`=ls*Z#igbX6@dYl1lyQNa<1AwGfO&~}L>B9#eh*G&M
zfc(;_J%;WitLhAsU#z_W1k-mwJWfFe=^aWC)-t+I_CmNgA<!;Mtvx1UD|8fX5>i{U
zpD936PgK_-Whw}GNiZ?sHG{rR4?qnC!hUWG`=>UVk3FsfD1Mk0LWvH)LJ<!j<&SfU
zK&VbE=cz9{B>?yOYr}v_G<QLe;07tgJu=UD4v<NGDFT2ROC7-7)b?^OS;+in4Hb(U
zXb3I%xpg3^zVsiHfuyR@_?BBEc_>bcE7H2D3)ErBq@CPX0zlCu{6u{NbMaF*govpH
zI#6PB_*;I2jE3pIIuyWn*M@1_;KB37V99`#;tU}X@!SC3G-kihw}LSMuyOu$`}hd}
zSVfZnz*4XT2x)>ogFYhAC2YG|LE%A2oINrKlKEkDTz!t}XyyH@YVEecQ*o{vo&aED
z=>gbV$`Qbb%loyE(Wn5o!z*{yFo51-)%Eb7G7eY@aTd9$RU)NH4Jb9_f{@0c_A+a{
zs~443B@F;8w|)Bsxr5T8-CSCsh5CYS!7l(!HITm@=wAm*fD675TJisdw`yx{aFCk|
zv-GP<0Px-7fDlqzo*Kw>_(0|XuL%H<4kzGFn*Rlmg5C8SkQ8(m14aFoP6RXp16#1#
zZ(!KiUf^wE8LSM5rQth->w=y-0gM_liUv%>*0g>LU@c^HV?G{jNGlfVP8=8qTE!s<
z1O0HI%n_ai|K%{yUF1fv#SOS&B0wiw4w+Uk?g~==`_GA+pMlbWUO+KGY5(6;75rr#
zK<MF1FGw)t9C9nA|Ano?L0BKTf_+3L1QWB-ttx%r6^6_z&Wm7=q!t!}RO^)HG$6dz
z`-PQ<ume??FhMBmPtY%q0HCv|)yl^qlos;;*kgSAgf)=v7ZAxbUMCv~*%n^xrRhO9
zr=X0(4WQKs@Z@j^40g29{LSJ|q#*#w-4|S7rX~1a?l8=Pjs2(g{xMFZm)g^F1sXw;
z$NCa0*WEv*7Yv>gIvV|wJ<!XQH)Zh3kotiuu95QTZ%siv8(+25%@A5T3#<PTPzS^F
zT0xvNvX|}5^aaY+fd5Z;o06Q-g!VsNyoT|gsPt!{62}ZUW*Nd-9o7pof&F~H0}B`z
zYRo<L$!LJ<k}fgXE`+At#&djY{O80=v;BNFt<~$!#`!H9&yrK(st+5DS%o-3Dfu8T
z&#tjXm+*Cw<VIhD`%977H-MWmG0MJfi3(p}{yfrS&o+ednPJQMItZYkGVZ_kGjN#1
zTyFphIta%|X(qo|D5e0Y>@msyX?}~gzzm>P7PcUE)lj}KyfF~eYU{kX>z^2qehr}3
z3W3u>usV4D7XVK09-{Kywd%e0aRGSrfY+T=;u5MGnMo3(3r`|@+q|y4w~)R=<p9$9
zdsQN8e*FI7DO2<)eMg0C7OS)~xm1+4o4znhl-5sRUkf+|QoF^g{1a^2U5o0Pr2Lo1
z%_jlewW{{#Kcvd43qh*AKGP7ST8wsRs+TRvs(Z+7s!YaKtO`wTRAJw(f{C5{rJ3mP
zVZ*Pnw1GmKX^h}nE_ucabeSA7{SN#`iP@QZsqr`tzZC$gMg%$4`Hg%HINx|wY|r2p
z>-SBHk5KsYYx!aW)PCJC>}HvhxG&s_#(KeLMVS-+?5Z-xb2IhcG5IbYN&Lje<N0(G
zJ!tFiVjyg)x%kS&$sH6G=JtS%ddFjanAvz+a4FArd;W^42q%J;KYs=e9!yWzYSwkO
z^7)UiOye+B*k~J_1dMun4{3pJWc9t-sp}PnB8=DFQX1FYB~f00Ya-hxb-APxXm)Q^
zJ(vOm+1lF<zczFDSf_Qi=`Q;_%f0VaD9d$%SJ*9ruyH+(i_hg3@TSC7wrijQ9ej3k
zp1wS|iXk<047TP|$&+nFRM#!^He7{v6m|5JcN}aM;*@m3k*JIXODg1zp;=;wo?)yv
zTD<OK@n3tp@mgskJyGTgknsn>rkBNP)8?&Qo1nd5@6k~FRg<D6f5M#-d+O6uU*Py6
zuaUwKj*G$4c`9)}yIdL$PmwxjZ;}7|_1<EVyVga$BPOB1FN$ms%PN&H5}sK>N|(pD
z^RFmE<AG1W@3(M^Z*t$nypP+j*$t=NIW=o3w!5>V^Zw|@--&`C!u{UkluTpsbTC8v
z7AmI}-C*kXU5$nbli*aR+4~(;Svw!sS$%RBKDu3LQHqLp=B6x;s~+;B@AKZVig$v@
zqXldWAH|e^t3-G59CEMDr#e212Mdty{k4G!7Su$O3eloLkJw|^n~H$@vg#Xy1;72p
zp&bRO7$vd#Rh+6rdkH7iZ83DZWm~1<I`|mARF0__|IWnakw(ktuA!b=%p%EU;i8B>
zdgS5@TErIcGx(vhD49)3k)FwTuTWhJcnZc@7jko80lxlWS<4W32=sV+<RW{QYdl-0
zcQw+tnny*8=v#nUJWgwMUGutllgZd?&D{$0ZA0s%te=8uLT;AkGZQ1>rS8AB<xj_M
zT${MCOxwd74iMSXIC+;mw$qN2uT)_3b~3u0V!0H&?OHAy^KI_JK4hexoWvx|t05$h
zwXT_Xx`mUi6_`vPRA<fV7U~l!AhKHenHZe>g0q)OP;E9S%F+T1v=Fv7fu+*gF+ZJP
z2t_3;TrhyEO2l;qSdx1xh?XAvn??K$)>@{DTCj}@b&R@ddf<@39G!6vvg3oReVBXZ
zRcXaG@m!85Yb$tUCk|`Ay8Y+1UGw{kv>5X(595yc#xC<)x1wu}npuvkol{?tWqoeG
zu*3SqJ1LA0jvOt+&E=%|d`lN<T9$dOl%}kb#D3d3X;o2hHPM)&6kR)QUHyJ0=8m2e
zwn1UhDd))}=SKvqk@$xI%y5(0ZYS;N#|jizb*Hla_aP@P-X}kaEAFS%jd!`V9j1!L
z;??xf<5@)>@#0yT9lMwiDroJO7mB8m^%i=`PYBFplI=0#-+r5l<1I-4v$GL;fRy-~
z<J8xr5Y@1&5^JqKK(ExLVxRb&FXA(0YN^EWy9gEvo2dxDx|4hkS3S4cJ7Q!{a0*pp
znM_nO4LR+eo0e7W(dB{FJaUlBu2eB}MwnX4{%`&75~&tUG2fX!kML<uN6U)h$JUeK
zY8^;ZK*#l4c1#<h%W*vY$stqivOO5A<zl8)-)=Eene{QkkH6=Oe~ofq?GHS|64P5_
zOS@qq^FwRU^3$3nR-tEz|BpXf)V&34&v#IZEGIbo%?r7#0njOx{Rbl7D{FH<d<Uby
zQr|167BQuTuMOYNae@zMPh%K(^(Qir>!w_teMn-{H_ZQ$k{{85mFLfvnK{`F^wm;Y
znKiS;xgMyltiEkG-ON`?jMlALy8G&;$Y+R<Z@EqfBI(*Kpn>%~w)Wo?QLf2S#wul-
zshjddpcn4WjvDMcF2~bsoAAFc#^1F6n=Ql3h_{?$Ra_2(wP(UDXqNXUpk$+VmGu^L
z<h`A&32%#y*(KAttZJ7<%g@=$^o-Z%IqXzf_;yY+ZJ$F=G!NfCP#*1Ft!$O)aoa~E
zMEB)<JF}Bt`H|p^dj@@K>(Mc1V1_(U+)9sX<6?5@Akf1|$fk{h$xyu_y+t=mW<j6x
zSGcw8M!-q=e0Kq(zIf2IPUp;_a(7|s=3?g%m`OQ*EI|l6T|XRD!P-wQM_y|<cQD~b
zX8!RSX4UP+AnB3e?C3GxA8&rq|8oBETOaqe=YmVMl;jB0k`;LU^hW)gSMxR@zjB(>
ztf|srVe}hxI&3C50u_tX_zdPQzI?-^KTQtef0}HTcPj!>QKh@<kMPqTQJ}wVWmGtf
zD38Zld?Y^BAj>OD0M*8mf4Ev=nJ)@0f9$-P)-O|em3Dk$xLcQ1o6zONe)-UE)in~E
z!`N|7FmO>FuyWHX#IR6~`fL%gr9qsRm*A%_ecckEKf*mtI8fNJ3;^FHBce|St_yAI
zefAMsNqk4|8J6RGZS1Dx+&0gmWbI+K6*@_v{Cvp0Lg@-`TCk6sPjhoy6F`efa{>iu
z?8asqLvY8_0cF-daRaN5RmdFU1tj&7mz!Cocy6p&EA#i-+EskZoje*tp`wk7=LHK|
z*P5I8mpS|J$L+!slGV`1!8v0hnUygi2cKn+H{rC{n#q`<xvVpn5>KE@D;0L$eugd@
z!`Vi?++)$$Q6qOKHLtJvZ8m3JSos;BUO~O?0?B@OA8Pmw4&Ic9#;2(j)umsW{GtqV
zP54-U^U|DouF}D<i0p@Pb*M@!kzktds_~C&s|<rKG?Is`@EQJ05*>Z$L4@wi;6VIL
z+ISQAR(1k+>>>M}iB}-ap*(wuTU&`Xn)W|S(Q&Cx<u$8}scKl;W*j=_Y8l)z3U=TN
z6#J(I((CjMVZFvSagd_)Wz?J{!q2+;#PQlT0YguQbuzI$><k<{Z@)K~c*^)p3S<>F
z>VIvG0-9wBlGyU>$j(FuBm!GzmMpIZuDM{^=-OK>G`TwFE=*hTcW<Et7-`iLB7t#_
zKw0ViG*vJZf;zqsw@Vl=z)Wi*bqMEBOF6=g-}stmCje#b)<B}w1nxR;zW;Ki&<yNm
z&|W%E$*gCPZD%W@p6OFPRw@5@I^OvZEE()OkZPaV?X@F{;l%od62tYjdzw<=JFAWI
zrYBRwOt)ru)xa{L#=9b30ro<zqr(qcH16JWM%J&dMhI3KEU@Y=97epvcQ|f|@w_cq
zuZiI-)mLtb(}^{xS}HfRvbn405b)}?y!gO~JgsoSl`CY|wZ>&uw@e;H5?0Xcb!D74
z2pT8z%use_2lJuJ%Q3aNu!QX#M~p>o2pvra=-Od8)vWe^t58SYd#0e$;jKGfW{HFq
zkliZGln$_p$gTt`@z1*(1CMyaFmRi*R{YPcj=)*qR>#m^@doA&l~s4+vxx9HcjG&m
zemCOe;JS0&fsA@{9iBwTnucjUE2E)H*U8i%@>B=A13j~+VGnbgGM!$EWMF179g+eh
z=B<fSl2ilFkhWIvN34X!U}G-`0!|k<6W3iCu_DJ7kQ$W=m9y_@xY+q%Wba#kx#uS&
zbv2!fl3JAt4tQS})#pPYd%DhcH-zAmWh4X7qApHn`c9hLF;~kWo@N_TxUsPZk4fXl
zvS>iJdOBB2SAX+E`?i0VvxfUR-6)^!87neLl54MQ&|}mp1@FwxgM%8*okrOa<XnQD
z%XQ{xn8x<WTV|ZHUExd5*-GqP1YsF#+(>V_?OD~HK)DkQ^RGLe3>-ao)Tz6QL_(`%
zr=monDXjFJM$@V{drGmFq~koD<D<h%a75#k_iv2*e&jKxiD&o`p2^r$Z`Us_PCkc4
zU?7k^$xfM_@5|yv)k^%0wIJOwwLo$wE$b$m6h8Wmc08O+VQq9CM12v=5h>Oj{hFjT
zgs9%7;2C6#c^^{F$+644%Pw)H6I$WoMR`LqGP4wi+h2Ow$r@F;-g3C%<Y;KfzMk5X
z@>?&eT9;%hF()gmkp5Hwv%_2b!vY_*om^UA<Q_4+#hpxT!N{egpZUA&(#UZU;YyF8
zfW6^a3o370;xU<ibKGo}JXrQ@WCR@~k2Wu*h%T!JwF&Fwwb%M%Ho6jFf~ls$I?6we
zhfP1Ms$y>v<+t1Ds)kh`TabjTx~*B2@=>Q;vZ{+BR+o(>e0UP+-1z0Qe_LQU%%FMs
z#PyyM&c<xp6;0Rvo#opx^Eo*DaYiFC)zLS)cvI(Jr4k#wA{G+CcY!_}sXW@thWx9f
zyVF<n?bIXD#TE?)O8oDE=P$u&D=_GIhy<{GN^J@OWOKdtCto*OdodZ;eiIC3?*wRd
zZLmJzY3q?LZg%zUS-CJb=rmxoLfif#C>j@80?qE=OFhjOcUq<wtYfmH>P?U-G;?tB
z@PAeJ_CT<A=Sv~5B%VynS?yM|8W<h1r)nlftXEFFdp#j*q_u#5{L8!p;d+tQB3>D_
zZFTvn-euKSVfn6U3;D3!PCF6noforqBIE?|mZM!8TBLwkJ3E@9!2``QY~=QH3p8R2
zwm}5p=RfoYmxO~QZr<k4ID#r(`H)vP{P!M)|6bz2`hUN~;s4K9NwEDtUnK!K{QvMO
z2^MB{_W$!u5@1b9r=?!3-o-X3O;%Nyp2rR8NNUw8j3Fh1SrfOa=nr3X>4K4{)uO$e
zl~u1s)8J3uz(u}Z-^2*aDd=!wWWIeo(OaK?z886?@Be(ITY2^Di1{c_;Fs0be4)*-
zLHWKJ#g~VE{j}=KpXyB<G*9v8Rjn@eSkl}5wKHi>U9HHwrm?=}n~gyEuW;Y?6LfGf
z3)`Bnyv|Ts!f&@$-0IGr?M^2zTga@okDJA;jy?QkEjME4kvC*v%j3`X37?+OJTGuP
zYcHON|7?402>#`to|%d-?h_%vjMk1r^YqsI)4$Xil<;ZM&W^xVdyte$udP3pMCOV6
z4sBWR`tR&>fws6OH>fH^dl#mx;^qW@j_Oddo$?z2d1c$v?C11e=LTAz;OO>+ACaq|
z<+xkxL-+b_xG+_dgrNDoweCGtqPSd(D=J!_Pm=+WE&Xo6PAj*bowz|89tQ?z4|T-r
zf$y7}^(b80{><A-q`;cI>;BNz%@CyA_QB<y@GL&b`<S)J?*h$!ZOpKYez%B%a6uyc
zpHqE<M!i9{ZzPpUW}NCDh}NNyov%k8JM%uXlc0u_483AfgL${jYXB##C2?wl690y=
zT|-y|ed}8vrm#p<pe@pDMWCfl9q)#2WBc|M9=!`_=&;d@@p=@qK?<g}BB>BWH$Ci~
zWzv?##@)#iWasJaU$KeH+s*ml?`CKC@GAEF9Sfl~AEC8YuE2-dIWhb1=6;ftQTAa7
z*3H7S==!1p6wIa1%~C#6<_#Z8BC*Q;s{inMedx7$Oz8BAkO3-=;kA(k6f<?aItOk8
z^u<T2CJHEHl2HyH_V2H?Ic3jGeV;C6+33FSHZXF^9A;?wrQo77V;mI1CE{)yMD4C;
z(bU#?d)+<qP$%YwdC{g~K}+PyORL!=zy4Jh6aU~kqGqG#?O2*n5adHUZM@a}NL*rH
zOSmx0^UCWve?w6%K{8ce>f>Gxrs+~lY@BVP|7LBRGh)8`tKHG=o^X6oWEy`w8h_ie
zYDUS$5Vc<)YH@Er?QyPdgX{vko<eFq|H_?IDaE79)q6tnm4lO*WCi(s!Y&wmhs>y2
zEm%IvJBE)53Ugx*upf6aS_?BdQhaxVZTb^*`Af+TA&sE3+zPhxVU<zABw+cdr#M<6
z!r8(0i<uP@5`#g!f{K{B^@*$$c2~jwMckXfL;3yf<5Kp0SA-}j!i<@*lU+*IETOXR
z`;t9tD7#crmPCXoWJ~s4iY$dJA=!y2TmKop-|xrsdpyrQ&ppP!*9+6koO7S+yx;eA
zpZi?bId_PAYo*AX{*!E|a`xh?rB77I%pG>p7nf-W3*Jh9o{*;E_wdFS+$8_IPI}9}
zG4J@3D)sSZYuwgn28&e{M$|e9_?8`}XHGmQF3J47r4txAYFPC|?k}k^pQUkNMdl^t
z_z>s(R}Tc8aIVM|Nl4@3&;9=NFlX@3iP6sqf^H9!OK??UdfK=LZwlDs8rtb}w<X^5
zpd8O_%YJuFV4iy5kNL7|Z{Qz6BAGWfE?cIl%VeZ(5wX5(d8hoIwVXR-Xmcb;=>-{y
z)=wct=V?4V7wKmqIBUdP`E)*qVp@ccIm~a;Y5x(8Ij7@lRVcCEG%lo)*kSUW?a!BY
z=K`CiQlI$*nK4L9Nv0K4$X<Exbj%uIN@LUcP`{Ub!-sRC4IUmNPdT>{baj-QrrnPF
z;^>gNp6-Uv_ms$7E+S*-py^hS<AQ?Az3U4Zd0+Xhne`ccE1#XUXH2fPYR<iO?csT%
z<s$`}55z|CsH5tyiw+Q(M-aAIR{Y>G;3hiuTqTjH<-w(_Ikmq7X%CGHstW7dEjeBA
z+rufLH%U+AJ|z0<6LhX6Hcs^B<70QtZd<ilkP3y%-96hh!$6x)^y{2MZjP+H>)jVs
ztG;v>WCR!{-<ZK}D@S}yR5ulDd-?VTZc6RTLZhSBRIlb8MO%NLm&ZT-yBVK`dtGhq
z@>K<1P7YUt^&s*BGdRI-78gGq1Mf#HA0-Wj=NNMePZ>e4C4N&2^;(rVHX+5*eMjN#
zyq4G*#l-wfIu-gWQuhkavi$mWb@6dnQJJ5fgLP2eSKSw96$O;DyC$=kF3pp^O|*>X
zpR#$8RHrJ=>pOTS{zv5MjTIVvZtjPx@Dw-M{*U~$wlIRLPr1k;O`k^$HqUa-<R;Y4
z%M7S;(K-qd7(L}39LX!FTal@q{KamYN!#+fn_01lry5_^(Z7AIroY7SiNO<-A9#AH
z8Y2t-mXv;P=`1CZGz_XwN8PWh=C|jWv6`Z>(jKwXzV?dkRV^<&udiH&H|>T~<fmHp
z7||0aDwSX7q#9+K{vpl2I~8@y_(hV&cgVYAnWiVNDz`qv=Qh*OQG0sog;Cgx1%LXC
zfsY6$9GWEtI)0l8JGQ4%XQ}TejJVp+mr5AHBspKlA>b~}wD+$scegBYah;WnqL!^s
zCoV9G>X^#+^w2Vtm+x+^U%!uhNhcLc_VR(=Sy9~t{0nL%+;4*3Ib6w%=+Y*7KB`Ea
zOLG`Prb2L~CLzpm8drJ@kMQZUH$Hdi-kUEA4J^%gLI=fvad{r{ijX#~$JcDPrLPKT
z=1w?&&5$hOOlif<3C(ZMMn7tLE1R5!OBPBGYJY2c&96vHVh`!AEBQ@aJaa>ilZ-8`
z!=j5?jUp5O%P{8^%7&|};Y{a$uCL^4rdMP<$UZX0cu(`p;S%R(T^}A2@YA?gv<8Ns
zY;7zv*N%@q6n~bfi;IH#)Xh?^%5*tOf#XQ~W;g@YkQ7OEWO~u(4{Ejg-CmX9B0R(e
zY+)w-l*QGJ+Ly=|3O}F7==TuqIMZ@C&S~9h&Zqd$`5>i>3Jq`TJ;l8#IZo$_L>_&w
zDDc75qB(R}>fzcUMB9thTaO=~IW7hjNoS{mlJl|NG4j=_mwMDwze$U`AT)Jmj{7!U
z{U+k}mFszD+%z4Np=n*h&l&UepSC-4TTh9ti{Dwlw?d9Hucg^c?!I(%SkRfQ;vtjl
zG0$@&(>T7bjW|i0Ov`fuDg%zUsDHMerx0u-yPSSuFxKwfmt(YCWG(SOiCx=1Ik28x
z)Z;2jPiTu*KXtVx?5*%LRUC3Nr@u}zeZyLJ3V8=8c+Zf1i3_5Ra$p$5Sv!7pL`$T*
z84mww9{D3zhluHC%dbOPP^}*i^N#Q(*ydD}z$0@Lvn^VBvd+D13TWa@4LTb1elQew
z5O2P+o~(?)#yIiFbF;%w5XQz6oRQ;4<r5vA=X_1AfhyVN{H*RXuvaBp>LQO@Hf~X_
zN#b-?hd+zIXAsBI=@%=grcvqa_jItxKRB|h;b-luI}L~Ge}3~3Y`xo#Q~&d6OiILf
zcdzyR<d2Hyza)6f<-LFNI;ke;T%_HF^m3>4I>pbw>F}+g#*I!<cH?E71?Kn#<y@}Z
zS8Hl7+O!To$v9k5SeNz6!}52~o!dWa+3!GWgS<s;q$_g*S|hCosvoT>1rQXNcV>-c
zES2YSCl$h@^iBsoFy&lri>;oOd$H(c_dBnq!mIQJe{LW7W7VIKhI8C5X2k(#k9s^R
z!Y%g7bM!sF`N^nEFYy{no!0FbdaBnM5$hy6Y9F``&p|Rjr)aYFem`UT$;H0{N7B)N
z%GdY#o4VtAhIZ3Rqkp<A?sq9oam1*97q9urwG{JSgT+VD6<>ukLg%yzC)=sFdJmiu
zay+YeA70^z8oaA({PT0u8O|~Z=8y#VbFJ6U%ByuI$YWkE@(y`T*o8K`Q-uXtKY?{~
zKu2QCV}<z^+JEx&Hh4MID#^c|KKbDG#SXg^mst0q+&EcD|IQ0fH&c{PXXW*ZG^cK!
z_g23FH#<*GP9l4W*ff>*Vw9ThJb&gyHHEd_wQtY8es8>uNu8X2HGk#={MYA!Try3W
zZt-S<%x3)Ww@+$8JC_^qGo1QV@Em{0A3FTT-=f%yn{krf+(h3iqfqIS-B8*ef2%B-
zlU*9LMAP{3D@NU#Usf${rC7aar<zr(Ocd9zuz;H)iVoG>xzClp%1Hew?#z6CcVBMi
zOY6L>_heda@@937Ccn+xZBE7@?sW~kC)PZ4JWTTrDgR(=uiZnYM|X_c&8l)vUu5hd
z81pLbd6Mze$}Dfd=nfB8uI&o-8@Sx-YW)w_T$EH69F>bqzvoC3i04=Jc^Flu<cEZ&
zCs%(FSCovn?^9EPd%Wdj_OUx{ZTfQLTDtE)(tf$t{hfY*xfl-5=G0q8+#Mcy2Wt*c
zEV{lh){rlcT*Vy#%VCnMTfdKb9Vo5#I9Kgi-nZlcYpxe%O<t#%e;<DNBv&`?^3_P!
zCMUL|5pnM4dW<XH2(MHVU5I~u%E%>scA;s4p%EWXgnl+N<(O<vgq3EXw0aF04c^4x
zDpubk_BT{dNX0@-p312ZorylI6i70Cru^}hOZ~ZAPgA(2UPjX)wl366h?5#5Y$hFp
z9v|F#d#FgJu_)}MADi+s?SYiP<@QNpvw;`nU&UpfJx|JQ;h!C<*F>cDoX+lz*}~t<
zlf8%9aYTiGij8c=k-(Q2ufDe!SYnBNrh09PL*i`RtnTUMRrAYN3H>N_pDW?>+dEmC
zompdxr7~+*Ck&-hEP2h_+Ct|LPDUUqm~WCZd5<d*_B6=yTz4VW1YN7Io1iV%8yaOM
zTbt+au6=rvYnfI|tMbS4Oy9$vTBaov;hbtGXF+RKBM~~0NIV{<Wn96_7Ot_`Vw*Eo
znfCK)r@x<(d6h%8q``15DT^Vu!R@<;;<>J*Tw6ctkB1OeBFnlL2abikKjw1rUeK-I
zU*3DQbqN=WE9D%Ed+*t)W_0S_Pa+B_@9#?0WY6U<X{ZSD=HIL+NbskA&&PFZ-eGic
zf|IAjf${p!UJo9DjhAl3PBT8IVasaIh~3v0+kXvO2WchK<hwkGtXI<cp(ExH`dsvL
z$GrdZ%u`n*I;d-{yP~v?y;CP{5IjCyD=S_ch39UqCOE9jXT3OZuE4O*wkZ1I$9JkP
zJO|p>pGkEWtr=@s5S|gfmfe&nF@Hz$xK&7UxW{+D{3xUy2rB&K(xLS`FYy=(o*zGZ
z)HCvVp?lWoktILD7A=qS7Bw>+ca?i}Udzc_@hra6GY(^6On)WYdMU9%{dyj}C+Pms
z7crmbe8a++dya|npW?b`^{8i!B|<=x^;|vsjXTp{*2`%+Gum6iO{AfS@L0t#L@X1u
zF~t8}!`mdiGbLGt7S~cA9p>wh-4I4_&-4h@!;(Hb*gb^DUzw2LQ81FH4|I*MXOa2o
zQDPUv1^2lkINr0?vgo05r9IZ?cuJV+w+V*dhb1xuuPfb!oiclKyjM7jX!VIjnjp>^
z#p<sCRc*6lmR8n>yJhWVD?G(FG%M=9sA}C?4L_|NS$m=DqxB54XATqpK)zMkS-1|5
zs|lpNW99LKpv$r!&e)%)WZqOd`HWR9INyr*7Ve;3pGJU7d_1EUJXPf8m;kSfZjpjd
zd3A`*pr`ibf>dr!4XTEu{-vHAoiM9ELE~zRIJz#UnR=o|ZkMD6WLSuC8%3X&V|S*|
zJ5lphjNrKOn>WYPyX)5Nayi!=?rG83irQXP_NnNxva=PHJ9@9jT(yOmImV#!j$Kf$
z*7#pPA7`_h$$BSVrOtl0t4Vz{qZrKly75Pj$M@F+kmK{~V#cz)?kYk!l5;NHnl$c?
zf^Co56Z<S`jYo5`tMA@{;cuwj<K1E>Rhw_jdz?Z3xco$jRY`A(e9w==*TceF244|=
z)eLej9#ai&pdg<O>h+b)6Don7r4pna8Xyza%zJfvWO^jGhB{4d@qPatnWAIsjf_1>
zGZcotb-AVKS?j1qS<RY@g)M~sg&naI6wHb6?yHk${+#FW`~w?wMz*jfuin^?yk5h_
zUDNrt)L6zu!kEtr+{s$wn6nMOTCUq|3Zrt$iW~{I?_#2Fp1=!CH6Gc~|K_v#oV;;@
zjIDE)FiLkJkpAZ%kH&|bM<0ybL%e^)u`X#C9#{F_XL(Rtg8plM<)2v|XJWpKmL|?@
zdZ_J0)!9%pLF#M<sQo@&k-LZ@Z}^l=O)L$i?cLe*_>rH%h2gwVAvPfxgjYz|fEYOs
z^RFo+!T(fF%qQ<^XY68WZ?}CEWEHaZwuY8=$O?G**&w|9sM`5a{}U1xV&mt9Adm;;
zg$N0u-iM&x7ZgC&#>+2^JRmOwg8KetHps4HAxr%W2r-|Ag`tV1o%z2HC1Y=6@1)^i
zXpG!?^gsKTqR`kop+F*Q<=<`t^7qc`?cc~F{JYI;C?Lp<Q{~)|+nt)Q>A5($nzEsO
z8L;hYf$**t{JZ48oA5uOMIzk6x%2x!X!#MyuIK&F@BfAtg6j93xM2Y<3JD-w$Umv`
zPfuYDFKVY+tl`~;0u1<{&2`ZS3^tu1|LmcQg#bggPi&xshWs-Hj6Pt{8U4>pFE#*g
za~L3CFoXpfFjg50f)-^#4wAE=Smms3D1hfM6bxyBJ%^!KC9Q2Jz<|M!7TA=AVwJR@
zXpt5a3~7OmFjh%x8wzlQ!H^bcz*r?MC|aZi1w&e30SjQ2w6>uDMpyt0X@Nb51+Yq5
z+faZ3gCQ-@5ymQM37|z<0tZQ20$3%jZ79GIK1k9Mz$$5>?n{C1mIMxxv|v~zt!*fP
z5r!QkX~D2cTH8>70Uso3!LUkNFtkVuc95h6!zyWQLjjKPL6Q~>tE2@(i?m<|Nm_8M
zlGZj9zzD;^kQUg12OO)UwG9Or@IjIm9IK=SM~k%J2T59RtdiC?6yOLSBx%91N?LHV
zNDF?Dq=mpLX>CIRj4<LLNeh8h(%Oas4EP{P3xQSALdiV9HxDQ=>_6%Uy3!KZ%Mt>s
zq_qtNIKl@>S_rI?76L8OLL4M%31XGBwxIw<Snwc8OAxE1wG9Or@IjK6AXZ6B5G~RY
zJV??K#42fRLjjKPL6VjrR!K_`Ez%M^NYWC*Drs#)0gSNFL6VjbR!M6c3NYY<BrPGV
zl9mu!q$PBaq$Pw^(%Oas9N~i`EtJ{mKjYYaH)#o>MOs1!Nm?kk8WsVgpa4c#7z}9%
zqI4@>A=E@LFI4y+7ajs7(eetSX2ek*z5nJ*6UHiOZ9@SD42HD8%B8|sB`smJNJ|(D
zX@LfeRnppq0vus5qy-u<R!K`3Ez%MOLt0?ZVF=0xi#^ub#sU~(2>(IS7K9(GytM-c
z4a^70To8V&QWu0DE$)KwA0&A}__4}fJ7Ca=^Fi_#gdeK}2H{7G!65u#C=4uTBNqr@
zlfrhu0LK}WMIJP5L$J$XXqx1=t>yoA>Z3bX4IVRgISfsoJSd|)c+A-4ux&7C<Te-%
z1CJTI9EPS_{y^>W5G?!U(KF0LKsn|?^EP%Z^E+UGb9>uqeqbDiUDrGWJ=;74ly4sN
z`3%J_hoR@3hiv=J4=&Ew<uLTj^AJ$(dC+mju6=$74Dk63%0LeuGj_*e=vn9?+s5+)
z%WVPdj>FJ%(L+Gl=)uPsyBvm|ksh*bKR>uQW0%9w^U^~=ndw2t8M|)!9WcNg2Fgzl
z9y4}13_V9ZWZQ>+V7ZN5PyG%UG~x_qJ`8-EvCCoT`RXCtZuEnTGj=%)J!?G#l(!yq
zoUv=J-vI-h+o0_A;4x#D!_YI>L$+<{2bSB|wb<`~K_kuw%3;`b*+bB?*+aI?=?52Q
z>~a`-PJ0L_t3BxR8M|Kl9WcPT4a#i~9y4}13_ZU+WZR{FV7ZN5$Ndf%G~#@q9EM%f
z{q}BJz)m5^wpab&;*4DmL(g~*0p+|0eLiE?dcOk(IJZHW@4;inE{CCKzlUs_)(<SV
zv1`EJ0fR=I50t~O>%oVhXTpbUTh|XR&e-KJ^nCabP)2;v=QDPl_&Z>La~qTwA3SF4
zau|AUe8{$k{lIb?yMFu~FlfXX42SWfyfD0iNVgYqYf=8~%|*925k+nE$<GT%O-u0#
z3L^fSeHnsXOFjfWPd;SZ$^L(hGkDC{<uLSY`4CXPe9)M&Ys}vP1DxBStoh(EW0%9w
zGv`CLE$#o;+y?C@!LB`j2Mii<2E$?CF=Ka5A3cjcWZT$&aB;>ihoR@vhk&x_gN-v3
zyEgqDFo3xY1?AHRj~S~RwgUzY%m?Yyhho>K4@J+X4+Z7Z2Yao8V%Mj?0|t#agYme6
z&uy%77!*C9KJ-9+`cUlp^mo7j#~GAQA9S3t>(hs#=hKIR^67&<pRv20{SFv3;tXaS
z1|Bn3$6-+PeEQIBYy1Co90ndUb~y|^pFR|nPaia9?E3U~zyRkqD4#xf%-9`=p}Ds`
zD4#xf%vklfLecZ-LqYlU!DGfQhoR@whl29ygU5_r4nxnU4+Z7Z2aOrKKK&gqz#In3
zrw<-8b~y|^pFR|nPaiyH>~a`-K7A-CpFViZ*yS+veELvOK7H_*vCCoT`ShWneEOg<
zW7ns@0|uDGK>75+W5zCrq36?wg7WEu$BbPLLvQnYD5%}<!DGfQhoR@whl29ygU5_r
z4nxnU4+Z7Z2aOrKKK&gqz#In3rw<-8b~y|^pFR|nPaiyH>~a`-d*MStZH5mXGj=%)
zJ)b@llusW#X6$kpdOm$9D4#xP%-Hqm?|=d3Fi<{y@R+g7Vd(kvp`d*F;4x#D!_eCr
z9|~%3eDIjD%VFs4jt>Rp(+7_kyBvm|Pag`(rw<x4c76IgV1PLclusW#X6$kpdOm$9
zD4#xf%-H2H^mfXJg4!w{JZ9{27<xW^C@7ykc+A-4F!X%-P*6U7(3r97)87FD%weE>
z`rt8Rm&4HW=|e&J^uc4sE{CDFaXxg{&iQ<r9uB5#d~)tC3K}kkE~dnM#)fPVVm=uu
z)Ng5JHonXDPPT?N#1az3rgkPMa{_di@g7w1f1Fx-7U$;`fNwWo=f(ffhJQ%nf2c(G
z-<6<V{127<v(M?Cl>qd^E@L{V;{WWLyk~KKUNj)=+Qfa&N`N5z<BkMX{GW8*vp9MX
z{&D*3SqTt?e=d=riUVdNI#B?~Mj!|n<)OeXbMc-%fKC(yc6o#MtmJ=(Ah2swZcxPm
z@(?`;0NDrx0i!$=*kyy=vj@<F0FaG95HQL^fn9!5@DO&{ME9%&0KzVRC#d583@Shs
z2h2m@Ym>k(1LdA=Kr0h=?NhvGB|zPX5i1Jpaw6_|bo3x#mW{idfqS+Apa*tY{q`)5
z7KB|+y*(=dY6E83xXUxQ=h4xFfEg?9^04jM2B01Q$V2oXV8)72%<^!TyKB!LKnuby
z)7GAq0CeLnw-u=30C|WW1ORRXf`C~b?(!k+*#qc70LVrl2$<!e06-q12LZFO;x6OO
zp4|x01G^kEpo#<LAsUz0T@IE#+kjR#?%F_d&q{#$0kg3p3?L8DgMe8!!T_=ns0RS@
z5G@G1EEHg(u*>@ZsyJXa0^j-x?D8UjY6E7hxXTr==h4xN0zftbWWp|$e$O@l6$i*e
z^dJCaBS0H=$>3lh?9#9IERGh0T~BM@vl1W(m|dNBZRED+(b0o|87uDESZ&WX0QCR>
zAEE~VARB?&fLR{yk}~(~0kk0OQX==P1OURW2XKQb4v>fFLBNa^cWHE>AYjIayVSBh
zkB-j#w!p4uM*k0$pmA;5rD5$^2|y<75~V;D--r2afn85l2Gs_DYy|27fILJinK4sa
z1Ta%u1a|FDv}XsR2LUry+_hiOo^1e#0+7yv7KB~<_kd~xz*rFo0ze+32LT`(f!cuC
z)ma#T714tLaE%6nfLR{y+Vf@496$#G3`lMH-yy&-(^+6ZItzLb0J0GX0!DcV+qF9h
z22lXWMj!|n<sod>V><VQ0CaSWMu{*Wg$11f1`J4NK`W7VZI1z_A9n3)0jfAa9-;>U
zBUXe#Fw4XJ&{<#*j93wdna%>+51j>una%>+^(aCxiL@U&3vAb;0YS9^vpn4OkiI>S
zj@G%bYwiA?l>pEhW;zROKXeutW;zQDGo1w{05D2KD+;?-nS+VKuE)E9Dh`l`=t01Y
z6?d(_1_c2#KHRkude5Vyb$JESS<vc6%+wYb3?Lf;PUrp5SzwsyEU;ZGclV415Cnic
zL@x@MjTJG|Szx=?wC>phXhFbCXMtg+v%ug0d59ha%<frsJ#1;uZUjiA{m@xpyB>Z7
zstuUsAsm1e(Tf6RcP^OeEU^91SzwsyEU;bc_P_*jKXew@u61;v+5o_c0O!K46>WPS
z9j!z{0AwRj8!*d5Ae{x^=s*e!S|bD?odvCK+_eI0&sYEf0l0$(D!w0M#a)jg0R;gw
zR@@Jr1%{c<0>eyaf$dtgvu6jQl}MQBEU;axX!dLaKqBpWe8rx{(SrbxjX-U{j1~7o
zXMqV}#)_EfEU^91SzwsyEHKR0v%q#eu>gD`?RpTwo|OP3()OnNJG;1oDh`l`Xq^kY
zcJv3;2F&tsKXev2W;zQTGo1y#A36(sd%JefnE>ClnLLOf!uLaGfdj2-`QOh4`1VHT
z81w)}c?bty&jM^Wg#)WCz)lP}klF&!jhN{ya3Gxp9ZG=%t!e>+fYH?%4y3c72LYq8
zA{;ZF1rDUMpalU)Z2^b^W;zQTNM}J00!A}AaLjZTIM8|)^dJCSqk*D;SsnuEEa*YN
z=nfi=na%<S(pk`g0Hn46L;*9M1rDUMpa%gnRusT24}o+R^dMk%jRsO%0D`z5Itv^#
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
M_`|>c$B*y+A4ijA?f?J)

literal 0
HcmV?d00001

diff --git a/test/test_manifest.json b/test/test_manifest.json
index dd861c9f2..bfa131d9a 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -290,5 +290,11 @@
        "link": true,
        "rounds": 1,
        "type": "eq"
+    },
+    {  "id": "issue840",
+       "file": "pdfs/issue840.pdf",
+       "md5": "20d88011dd7e3c4fb5274979094dab93",
+       "rounds": 1,
+       "type": "eq"
     }
 ]

From 7d57f5d2ebf7fdd864b9d160f5ea5e75fcee6815 Mon Sep 17 00:00:00 2001
From: Brendan Dahl <brendan.dahl@gmail.com>
Date: Fri, 2 Dec 2011 08:58:40 -0800
Subject: [PATCH 59/68] Address Yury's comment 2.

---
 web/viewer.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/web/viewer.js b/web/viewer.js
index f3975c038..2ccb155c2 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -263,9 +263,10 @@ var PDFView = {
     var container = document.getElementById('viewer');
     while (container.hasChildNodes())
       container.removeChild(container.lastChild);
-
+    
+    var pdf;
     try {
-      var pdf = new PDFJS.PDFDoc(data);
+      pdf = new PDFJS.PDFDoc(data);
     } catch (e) {
       this.error('An error occurred while reading the PDF.', e);
     }

From 0f7f80ee6ea7ad309492a2c65bb2dedf491beab2 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Fri, 2 Dec 2011 15:31:29 -0600
Subject: [PATCH 60/68] If readXRefStream or readXRefTable fails, fallback to
 object indexing (#828)

---
 src/obj.js | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/obj.js b/src/obj.js
index 7aebb732a..9544bea60 100644
--- a/src/obj.js
+++ b/src/obj.js
@@ -518,20 +518,25 @@ var XRef = (function xRefXRef() {
     readXRef: function readXref(startXRef) {
       var stream = this.stream;
       stream.pos = startXRef;
-      var parser = new Parser(new Lexer(stream), true);
-      var obj = parser.getObj();
-      // parse an old-style xref table
-      if (isCmd(obj, 'xref'))
-        return this.readXRefTable(parser);
-      // parse an xref stream
-      if (isInt(obj)) {
-        if (!isInt(parser.getObj()) ||
-            !isCmd(parser.getObj(), 'obj') ||
-            !isStream(obj = parser.getObj())) {
-          error('Invalid XRef stream');
+      try {
+        var parser = new Parser(new Lexer(stream), true);
+        var obj = parser.getObj();
+        // parse an old-style xref table
+        if (isCmd(obj, 'xref'))
+          return this.readXRefTable(parser);
+        // parse an xref stream
+        if (isInt(obj)) {
+          if (!isInt(parser.getObj()) ||
+              !isCmd(parser.getObj(), 'obj') ||
+              !isStream(obj = parser.getObj())) {
+            error('Invalid XRef stream');
+          }
+          return this.readXRefStream(obj);
         }
-        return this.readXRefStream(obj);
+      } catch(e) {
+        log('Reading of the xref table/stream failed: ' + e);
       }
+      warn('Indexing all PDF objects');
       return this.indexObjects();
     },
     getEntry: function xRefGetEntry(i) {

From 01a96fdddf6f979b47fd04ad431e0fdf224478b8 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Fri, 2 Dec 2011 15:35:18 -0600
Subject: [PATCH 61/68] Fixing lint errors; extra empty lines

---
 src/obj.js | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/obj.js b/src/obj.js
index 9544bea60..474b54336 100644
--- a/src/obj.js
+++ b/src/obj.js
@@ -518,12 +518,15 @@ var XRef = (function xRefXRef() {
     readXRef: function readXref(startXRef) {
       var stream = this.stream;
       stream.pos = startXRef;
+
       try {
         var parser = new Parser(new Lexer(stream), true);
         var obj = parser.getObj();
+
         // parse an old-style xref table
         if (isCmd(obj, 'xref'))
           return this.readXRefTable(parser);
+
         // parse an xref stream
         if (isInt(obj)) {
           if (!isInt(parser.getObj()) ||
@@ -533,9 +536,10 @@ var XRef = (function xRefXRef() {
           }
           return this.readXRefStream(obj);
         }
-      } catch(e) {
+      } catch (e) {
         log('Reading of the xref table/stream failed: ' + e);
       }
+
       warn('Indexing all PDF objects');
       return this.indexObjects();
     },

From 00d120470566843c88f8a9dc70b0122c7104e19f Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Fri, 2 Dec 2011 16:52:31 -0600
Subject: [PATCH 62/68] Suppress invisible text (#799)

---
 src/canvas.js | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 0913b582a..6e33475d7 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -23,6 +23,7 @@ var CanvasExtraState = (function canvasExtraState() {
     this.charSpacing = 0;
     this.wordSpacing = 0;
     this.textHScale = 1;
+    this.textRenderingMode = 0;
     // Color spaces
     this.fillColorSpace = new DeviceGrayCS();
     this.fillColorSpaceObj = null;
@@ -543,7 +544,9 @@ var CanvasGraphics = (function canvasGraphics() {
       this.ctx.font = rule;
     },
     setTextRenderingMode: function canvasGraphicsSetTextRenderingMode(mode) {
-      TODO('text rendering mode: ' + mode);
+      if (mode != 0 && mode != 3)
+        TODO('unsupported text rendering mode: ' + mode);
+      this.current.textRenderingMode = mode;
     },
     setTextRise: function canvasGraphicsSetTextRise(rise) {
       TODO('text rise: ' + rise);
@@ -637,6 +640,7 @@ var CanvasGraphics = (function canvasGraphics() {
       var textLayer = this.textLayer;
       var text = {str: '', length: 0, canvasWidth: 0, geom: {}};
       var textSelection = textLayer && !skipTextSelection ? true : false;
+      var textRenderingMode = current.textRenderingMode;
 
       if (textSelection) {
         ctx.save();
@@ -693,7 +697,15 @@ var CanvasGraphics = (function canvasGraphics() {
 
           var char = glyph.fontChar;
           var charWidth = glyph.width * fontSize * 0.001 + charSpacing;
-          ctx.fillText(char, width, 0);
+
+          switch (textRenderingMode) {
+            default: // unsupported rendering mode
+            case 0:  // fill
+              ctx.fillText(char, width, 0);
+              break;
+            case 3:  // invisible
+          }
+
           width += charWidth;
 
           text.str += glyph.unicode === ' ' ? '&nbsp;' : glyph.unicode;

From 2719e8eadc007cdd5d6eb2b90a9db52a85741e57 Mon Sep 17 00:00:00 2001
From: notmasteryet <async.processingjs@yahoo.com>
Date: Fri, 2 Dec 2011 22:30:31 -0600
Subject: [PATCH 63/68] add stroke and other text rendering modes

---
 src/canvas.js | 32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 6e33475d7..6eb066dba 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -6,6 +6,17 @@
 // <canvas> contexts store most of the state we need natively.
 // However, PDF needs a bit more state, which we store here.
 
+var TextRenderingMode = {
+  FILL: 0,
+  STROKE: 1,
+  FILL_STROKE: 2,
+  INVISIBLE: 3,
+  FILL_ADD_TO_PATH: 4,
+  STROKE_ADD_TO_PATH: 5,
+  FILL_STROKE_ADD_TO_PATH: 6,
+  ADD_TO_PATH: 7
+};
+
 var CanvasExtraState = (function canvasExtraState() {
   function constructor(old) {
     // Are soft masks and alpha values shapes or opacities?
@@ -23,7 +34,7 @@ var CanvasExtraState = (function canvasExtraState() {
     this.charSpacing = 0;
     this.wordSpacing = 0;
     this.textHScale = 1;
-    this.textRenderingMode = 0;
+    this.textRenderingMode = TextRenderingMode.FILL;
     // Color spaces
     this.fillColorSpace = new DeviceGrayCS();
     this.fillColorSpaceObj = null;
@@ -544,7 +555,7 @@ var CanvasGraphics = (function canvasGraphics() {
       this.ctx.font = rule;
     },
     setTextRenderingMode: function canvasGraphicsSetTextRenderingMode(mode) {
-      if (mode != 0 && mode != 3)
+      if (mode >= TextRenderingMode.FILL_ADD_TO_PATH)
         TODO('unsupported text rendering mode: ' + mode);
       this.current.textRenderingMode = mode;
     },
@@ -699,11 +710,22 @@ var CanvasGraphics = (function canvasGraphics() {
           var charWidth = glyph.width * fontSize * 0.001 + charSpacing;
 
           switch (textRenderingMode) {
-            default: // unsupported rendering mode
-            case 0:  // fill
+            default: // other unsupported rendering modes
+            case TextRenderingMode.FILL:
+            case TextRenderingMode.FILL_ADD_TO_PATH:
               ctx.fillText(char, width, 0);
               break;
-            case 3:  // invisible
+            case TextRenderingMode.STROKE:
+            case TextRenderingMode.STROKE_ADD_TO_PATH:
+              ctx.strokeText(char, width, 0);
+              break;
+            case TextRenderingMode.FILL_STROKE:
+            case TextRenderingMode.FILL_STROKE_ADD_TO_PATH:
+              ctx.fillText(char, width, 0);
+              ctx.strokeText(char, width, 0);
+              break;
+            case TextRenderingMode.INVISIBLE:
+              break;
           }
 
           width += charWidth;

From d2303493fe1a2376d5484c195609a2bef79e14ad Mon Sep 17 00:00:00 2001
From: Kalervo Kujala <kkujala@com>
Date: Sun, 4 Dec 2011 21:22:08 +0200
Subject: [PATCH 64/68] Fix few early returns in parser.js.

---
 src/parser.js | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/parser.js b/src/parser.js
index 93a3f21b5..036191677 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -225,7 +225,8 @@ var Parser = (function parserParser() {
           return new PredictorStream(new FlateStream(stream), params);
         }
         return new FlateStream(stream);
-      } else if (name == 'LZWDecode' || name == 'LZW') {
+      }
+      if (name == 'LZWDecode' || name == 'LZW') {
         var earlyChange = 1;
         if (params) {
           if (params.has('EarlyChange'))
@@ -234,18 +235,21 @@ var Parser = (function parserParser() {
             new LZWStream(stream, earlyChange), params);
         }
         return new LZWStream(stream, earlyChange);
-      } else if (name == 'DCTDecode' || name == 'DCT') {
+      }
+      if (name == 'DCTDecode' || name == 'DCT') {
         var bytes = stream.getBytes(length);
         return new JpegStream(bytes, stream.dict, this.xref);
-      } else if (name == 'ASCII85Decode' || name == 'A85') {
-        return new Ascii85Stream(stream);
-      } else if (name == 'ASCIIHexDecode' || name == 'AHx') {
-        return new AsciiHexStream(stream);
-      } else if (name == 'CCITTFaxDecode' || name == 'CCF') {
-        return new CCITTFaxStream(stream, params);
-      } else {
-        TODO('filter "' + name + '" not supported yet');
       }
+      if (name == 'ASCII85Decode' || name == 'A85') {
+        return new Ascii85Stream(stream);
+      }
+      if (name == 'ASCIIHexDecode' || name == 'AHx') {
+        return new AsciiHexStream(stream);
+      }
+      if (name == 'CCITTFaxDecode' || name == 'CCF') {
+        return new CCITTFaxStream(stream, params);
+      }
+      TODO('filter "' + name + '" not supported yet');
       return stream;
     }
   };

From 7116ce0b5327f4b9d2c8e365eb469a8453e7523d Mon Sep 17 00:00:00 2001
From: Kalervo Kujala <kkujala@com>
Date: Sun, 4 Dec 2011 22:22:39 +0200
Subject: [PATCH 65/68] Use constants for radial and axial types.

---
 src/pattern.js | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/pattern.js b/src/pattern.js
index 72d13d896..c6bbc9983 100644
--- a/src/pattern.js
+++ b/src/pattern.js
@@ -3,6 +3,9 @@
 
 'use strict';
 
+var AXIAL_PATTERN_TYPE = 2;
+var RADIAL_PATTERN_TYPE = 3;
+
 var Pattern = (function patternPattern() {
   // Constructor should define this.getPattern
   function constructor() {
@@ -28,9 +31,9 @@ var Pattern = (function patternPattern() {
     var type = dict.get('ShadingType');
 
     switch (type) {
-      case 2:
-      case 3:
-        // both radial and axial shadings are handled by RadialAxial shading
+      case AXIAL_PATTERN_TYPE:
+      case RADIAL_PATTERN_TYPE:
+        // Both radial and axial shadings are handled by RadialAxial shading.
         return new Shadings.RadialAxial(dict, matrix, xref, res, ctx);
       default:
         return new Shadings.Dummy();
@@ -117,9 +120,9 @@ Shadings.RadialAxial = (function radialAxialShading() {
     }
 
     var grad;
-    if (type == 2)
+    if (type == AXIAL_PATTERN_TYPE)
       grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
-    else if (type == 3)
+    else if (type == RADIAL_PATTERN_TYPE)
       grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
 
     for (var i = 0, ii = colorStops.length; i < ii; ++i) {
@@ -133,12 +136,12 @@ Shadings.RadialAxial = (function radialAxialShading() {
     getIR: function radialAxialShadingGetIR() {
       var coordsArr = this.coordsArr;
       var type = this.shadingType;
-      if (type == 2) {
+      if (type == AXIAL_PATTERN_TYPE) {
         var p0 = [coordsArr[0], coordsArr[1]];
         var p1 = [coordsArr[2], coordsArr[3]];
         var r0 = null;
         var r1 = null;
-      } else if (type == 3) {
+      } else if (type == RADIAL_PATTERN_TYPE) {
         var p0 = [coordsArr[0], coordsArr[1]];
         var p1 = [coordsArr[3], coordsArr[4]];
         var r0 = coordsArr[2];

From cca0306789afc294c648f05552e57bb6b4a9868a Mon Sep 17 00:00:00 2001
From: Kalervo Kujala <kkujala@com>
Date: Mon, 5 Dec 2011 00:38:45 +0200
Subject: [PATCH 66/68] Use object-enumeration for pattern type.

---
 src/pattern.js | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/pattern.js b/src/pattern.js
index c6bbc9983..9e2dca17a 100644
--- a/src/pattern.js
+++ b/src/pattern.js
@@ -3,8 +3,10 @@
 
 'use strict';
 
-var AXIAL_PATTERN_TYPE = 2;
-var RADIAL_PATTERN_TYPE = 3;
+var PatternType = {
+  AXIAL: 2,
+  RADIAL: 3
+};
 
 var Pattern = (function patternPattern() {
   // Constructor should define this.getPattern
@@ -31,8 +33,8 @@ var Pattern = (function patternPattern() {
     var type = dict.get('ShadingType');
 
     switch (type) {
-      case AXIAL_PATTERN_TYPE:
-      case RADIAL_PATTERN_TYPE:
+      case PatternType.AXIAL:
+      case PatternType.RADIAL:
         // Both radial and axial shadings are handled by RadialAxial shading.
         return new Shadings.RadialAxial(dict, matrix, xref, res, ctx);
       default:
@@ -120,9 +122,9 @@ Shadings.RadialAxial = (function radialAxialShading() {
     }
 
     var grad;
-    if (type == AXIAL_PATTERN_TYPE)
+    if (type == PatternType.AXIAL)
       grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
-    else if (type == RADIAL_PATTERN_TYPE)
+    else if (type == PatternType.RADIAL)
       grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
 
     for (var i = 0, ii = colorStops.length; i < ii; ++i) {
@@ -136,12 +138,12 @@ Shadings.RadialAxial = (function radialAxialShading() {
     getIR: function radialAxialShadingGetIR() {
       var coordsArr = this.coordsArr;
       var type = this.shadingType;
-      if (type == AXIAL_PATTERN_TYPE) {
+      if (type == PatternType.AXIAL) {
         var p0 = [coordsArr[0], coordsArr[1]];
         var p1 = [coordsArr[2], coordsArr[3]];
         var r0 = null;
         var r1 = null;
-      } else if (type == RADIAL_PATTERN_TYPE) {
+      } else if (type == PatternType.RADIAL) {
         var p0 = [coordsArr[0], coordsArr[1]];
         var p1 = [coordsArr[3], coordsArr[4]];
         var r0 = coordsArr[2];

From db6f4ca88b914573a7dbe08bac08bcc730b7aa57 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Mon, 5 Dec 2011 16:25:16 -0500
Subject: [PATCH 67/68] cross-platform sed fix

---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index caeca9b41..93685d4eb 100644
--- a/Makefile
+++ b/Makefile
@@ -64,7 +64,8 @@ bundle: | $(BUILD_DIR)
 	@cd src; \
 	cat $(PDF_JS_FILES) > all_files.tmp; \
 	sed '/PDFJSSCRIPT_INCLUDE_ALL/ r all_files.tmp' pdf.js > ../$(BUILD_TARGET); \
-	sed -i '' "s/PDFJSSCRIPT_BUNDLE_VER/`git log --format="%H" -n 1`/" ../$(BUILD_TARGET); \
+	sed -i.bak "s/PDFJSSCRIPT_BUNDLE_VER/`git log --format="%H" -n 1`/" ../$(BUILD_TARGET); \
+	rm -f ../$(BUILD_TARGET).bak
 	rm -f *.tmp; \
 	cd ..
 

From a7088602841e76fe4b1cb223a8771b6ed535dd00 Mon Sep 17 00:00:00 2001
From: Artur Adib <arturadib@gmail.com>
Date: Mon, 5 Dec 2011 16:30:41 -0500
Subject: [PATCH 68/68] short she

---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 93685d4eb..0ad2eb09c 100644
--- a/Makefile
+++ b/Makefile
@@ -64,7 +64,7 @@ bundle: | $(BUILD_DIR)
 	@cd src; \
 	cat $(PDF_JS_FILES) > all_files.tmp; \
 	sed '/PDFJSSCRIPT_INCLUDE_ALL/ r all_files.tmp' pdf.js > ../$(BUILD_TARGET); \
-	sed -i.bak "s/PDFJSSCRIPT_BUNDLE_VER/`git log --format="%H" -n 1`/" ../$(BUILD_TARGET); \
+	sed -i.bak "s/PDFJSSCRIPT_BUNDLE_VER/`git log --format="%h" -n 1`/" ../$(BUILD_TARGET); \
 	rm -f ../$(BUILD_TARGET).bak
 	rm -f *.tmp; \
 	cd ..