|  | @@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {}));
 | 
	
		
			
				|  |  |    // Use strict in our context only - users might not want it
 | 
	
		
			
				|  |  |    'use strict';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -var pdfjsVersion = '1.5.454';
 | 
	
		
			
				|  |  | -var pdfjsBuild = '03588cc';
 | 
	
		
			
				|  |  | +var pdfjsVersion = '1.5.456';
 | 
	
		
			
				|  |  | +var pdfjsBuild = '4d15928';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    var pdfjsFilePath =
 | 
	
		
			
				|  |  |      typeof document !== 'undefined' && document.currentScript ?
 | 
	
	
		
			
				|  | @@ -2717,8 +2717,6 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |  /* Any copyright is dedicated to the Public Domain.
 | 
	
		
			
				|  |  |   * http://creativecommons.org/publicdomain/zero/1.0/ */
 | 
	
		
			
				|  |  |  (function checkURLConstructor(scope) {
 | 
	
		
			
				|  |  | -  /* jshint ignore:start */
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    // feature detect for URL constructor
 | 
	
		
			
				|  |  |    var hasWorkingUrl = false;
 | 
	
		
			
				|  |  |    try {
 | 
	
	
		
			
				|  | @@ -2731,8 +2729,9 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    } catch(e) { }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  if (hasWorkingUrl)
 | 
	
		
			
				|  |  | +  if (hasWorkingUrl) {
 | 
	
		
			
				|  |  |      return;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    var relative = Object.create(null);
 | 
	
		
			
				|  |  |    relative['ftp'] = 21;
 | 
	
	
		
			
				|  | @@ -2759,11 +2758,11 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    function IDNAToASCII(h) {
 | 
	
		
			
				|  |  | -    if ('' == h) {
 | 
	
		
			
				|  |  | -      invalid.call(this)
 | 
	
		
			
				|  |  | +    if ('' === h) {
 | 
	
		
			
				|  |  | +      invalid.call(this);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      // XXX
 | 
	
		
			
				|  |  | -    return h.toLowerCase()
 | 
	
		
			
				|  |  | +    return h.toLowerCase();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    function percentEscape(c) {
 | 
	
	
		
			
				|  | @@ -2771,7 +2770,7 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |      if (unicode > 0x20 &&
 | 
	
		
			
				|  |  |         unicode < 0x7F &&
 | 
	
		
			
				|  |  |         // " # < > ? `
 | 
	
		
			
				|  |  | -       [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) == -1
 | 
	
		
			
				|  |  | +       [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1
 | 
	
		
			
				|  |  |        ) {
 | 
	
		
			
				|  |  |        return c;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -2786,20 +2785,19 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |      if (unicode > 0x20 &&
 | 
	
		
			
				|  |  |         unicode < 0x7F &&
 | 
	
		
			
				|  |  |         // " # < > ` (do not escape '?')
 | 
	
		
			
				|  |  | -       [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) == -1
 | 
	
		
			
				|  |  | +       [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1
 | 
	
		
			
				|  |  |        ) {
 | 
	
		
			
				|  |  |        return c;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      return encodeURIComponent(c);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  var EOF = undefined,
 | 
	
		
			
				|  |  | -      ALPHA = /[a-zA-Z]/,
 | 
	
		
			
				|  |  | +  var EOF, ALPHA = /[a-zA-Z]/,
 | 
	
		
			
				|  |  |        ALPHANUMERIC = /[a-zA-Z0-9\+\-\.]/;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    function parse(input, stateOverride, base) {
 | 
	
		
			
				|  |  |      function err(message) {
 | 
	
		
			
				|  |  | -      errors.push(message)
 | 
	
		
			
				|  |  | +      errors.push(message);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      var state = stateOverride || 'scheme start',
 | 
	
	
		
			
				|  | @@ -2809,7 +2807,8 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |          seenBracket = false,
 | 
	
		
			
				|  |  |          errors = [];
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    loop: while ((input[cursor - 1] != EOF || cursor == 0) && !this._isInvalid) {
 | 
	
		
			
				|  |  | +    loop: while ((input[cursor - 1] !== EOF || cursor === 0) &&
 | 
	
		
			
				|  |  | +                 !this._isInvalid) {
 | 
	
		
			
				|  |  |        var c = input[cursor];
 | 
	
		
			
				|  |  |        switch (state) {
 | 
	
		
			
				|  |  |          case 'scheme start':
 | 
	
	
		
			
				|  | @@ -2829,7 +2828,7 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |          case 'scheme':
 | 
	
		
			
				|  |  |            if (c && ALPHANUMERIC.test(c)) {
 | 
	
		
			
				|  |  |              buffer += c.toLowerCase(); // ASCII-safe
 | 
	
		
			
				|  |  | -          } else if (':' == c) {
 | 
	
		
			
				|  |  | +          } else if (':' === c) {
 | 
	
		
			
				|  |  |              this._scheme = buffer;
 | 
	
		
			
				|  |  |              buffer = '';
 | 
	
		
			
				|  |  |              if (stateOverride) {
 | 
	
	
		
			
				|  | @@ -2838,9 +2837,10 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              if (isRelativeScheme(this._scheme)) {
 | 
	
		
			
				|  |  |                this._isRelative = true;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if ('file' == this._scheme) {
 | 
	
		
			
				|  |  | +            if ('file' === this._scheme) {
 | 
	
		
			
				|  |  |                state = 'relative';
 | 
	
		
			
				|  |  | -            } else if (this._isRelative && base && base._scheme == this._scheme) {
 | 
	
		
			
				|  |  | +            } else if (this._isRelative && base &&
 | 
	
		
			
				|  |  | +                       base._scheme === this._scheme) {
 | 
	
		
			
				|  |  |                state = 'relative or authority';
 | 
	
		
			
				|  |  |              } else if (this._isRelative) {
 | 
	
		
			
				|  |  |                state = 'authority first slash';
 | 
	
	
		
			
				|  | @@ -2852,24 +2852,24 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              cursor = 0;
 | 
	
		
			
				|  |  |              state = 'no scheme';
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  | -          } else if (EOF == c) {
 | 
	
		
			
				|  |  | +          } else if (EOF === c) {
 | 
	
		
			
				|  |  |              break loop;
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  | -            err('Code point not allowed in scheme: ' + c)
 | 
	
		
			
				|  |  | +            err('Code point not allowed in scheme: ' + c);
 | 
	
		
			
				|  |  |              break loop;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'scheme data':
 | 
	
		
			
				|  |  | -          if ('?' == c) {
 | 
	
		
			
				|  |  | +          if ('?' === c) {
 | 
	
		
			
				|  |  |              this._query = '?';
 | 
	
		
			
				|  |  |              state = 'query';
 | 
	
		
			
				|  |  | -          } else if ('#' == c) {
 | 
	
		
			
				|  |  | +          } else if ('#' === c) {
 | 
	
		
			
				|  |  |              this._fragment = '#';
 | 
	
		
			
				|  |  |              state = 'fragment';
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  |              // XXX error handling
 | 
	
		
			
				|  |  | -            if (EOF != c && '\t' != c && '\n' != c && '\r' != c) {
 | 
	
		
			
				|  |  | +            if (EOF !== c && '\t' !== c && '\n' !== c && '\r' !== c) {
 | 
	
		
			
				|  |  |                this._schemeData += percentEscape(c);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
	
		
			
				|  | @@ -2886,20 +2886,21 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'relative or authority':
 | 
	
		
			
				|  |  | -          if ('/' == c && '/' == input[cursor+1]) {
 | 
	
		
			
				|  |  | +          if ('/' === c && '/' === input[cursor+1]) {
 | 
	
		
			
				|  |  |              state = 'authority ignore slashes';
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  |              err('Expected /, got: ' + c);
 | 
	
		
			
				|  |  |              state = 'relative';
 | 
	
		
			
				|  |  | -            continue
 | 
	
		
			
				|  |  | +            continue;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'relative':
 | 
	
		
			
				|  |  |            this._isRelative = true;
 | 
	
		
			
				|  |  | -          if ('file' != this._scheme)
 | 
	
		
			
				|  |  | +          if ('file' !== this._scheme) {
 | 
	
		
			
				|  |  |              this._scheme = base._scheme;
 | 
	
		
			
				|  |  | -          if (EOF == c) {
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (EOF === c) {
 | 
	
		
			
				|  |  |              this._host = base._host;
 | 
	
		
			
				|  |  |              this._port = base._port;
 | 
	
		
			
				|  |  |              this._path = base._path.slice();
 | 
	
	
		
			
				|  | @@ -2907,11 +2908,12 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              this._username = base._username;
 | 
	
		
			
				|  |  |              this._password = base._password;
 | 
	
		
			
				|  |  |              break loop;
 | 
	
		
			
				|  |  | -          } else if ('/' == c || '\\' == c) {
 | 
	
		
			
				|  |  | -            if ('\\' == c)
 | 
	
		
			
				|  |  | +          } else if ('/' === c || '\\' === c) {
 | 
	
		
			
				|  |  | +            if ('\\' === c) {
 | 
	
		
			
				|  |  |                err('\\ is an invalid code point.');
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              state = 'relative slash';
 | 
	
		
			
				|  |  | -          } else if ('?' == c) {
 | 
	
		
			
				|  |  | +          } else if ('?' === c) {
 | 
	
		
			
				|  |  |              this._host = base._host;
 | 
	
		
			
				|  |  |              this._port = base._port;
 | 
	
		
			
				|  |  |              this._path = base._path.slice();
 | 
	
	
		
			
				|  | @@ -2919,7 +2921,7 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              this._username = base._username;
 | 
	
		
			
				|  |  |              this._password = base._password;
 | 
	
		
			
				|  |  |              state = 'query';
 | 
	
		
			
				|  |  | -          } else if ('#' == c) {
 | 
	
		
			
				|  |  | +          } else if ('#' === c) {
 | 
	
		
			
				|  |  |              this._host = base._host;
 | 
	
		
			
				|  |  |              this._port = base._port;
 | 
	
		
			
				|  |  |              this._path = base._path.slice();
 | 
	
	
		
			
				|  | @@ -2929,12 +2931,12 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              this._password = base._password;
 | 
	
		
			
				|  |  |              state = 'fragment';
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  | -            var nextC = input[cursor+1]
 | 
	
		
			
				|  |  | -            var nextNextC = input[cursor+2]
 | 
	
		
			
				|  |  | -            if (
 | 
	
		
			
				|  |  | -              'file' != this._scheme || !ALPHA.test(c) ||
 | 
	
		
			
				|  |  | -              (nextC != ':' && nextC != '|') ||
 | 
	
		
			
				|  |  | -              (EOF != nextNextC && '/' != nextNextC && '\\' != nextNextC && '?' != nextNextC && '#' != nextNextC)) {
 | 
	
		
			
				|  |  | +            var nextC = input[cursor+1];
 | 
	
		
			
				|  |  | +            var nextNextC = input[cursor+2];
 | 
	
		
			
				|  |  | +            if ('file' !== this._scheme || !ALPHA.test(c) ||
 | 
	
		
			
				|  |  | +                (nextC !== ':' && nextC !== '|') ||
 | 
	
		
			
				|  |  | +                (EOF !== nextNextC && '/' !== nextNextC && '\\' !== nextNextC &&
 | 
	
		
			
				|  |  | +                '?' !== nextNextC && '#' !== nextNextC)) {
 | 
	
		
			
				|  |  |                this._host = base._host;
 | 
	
		
			
				|  |  |                this._port = base._port;
 | 
	
		
			
				|  |  |                this._username = base._username;
 | 
	
	
		
			
				|  | @@ -2948,17 +2950,17 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'relative slash':
 | 
	
		
			
				|  |  | -          if ('/' == c || '\\' == c) {
 | 
	
		
			
				|  |  | -            if ('\\' == c) {
 | 
	
		
			
				|  |  | +          if ('/' === c || '\\' === c) {
 | 
	
		
			
				|  |  | +            if ('\\' === c) {
 | 
	
		
			
				|  |  |                err('\\ is an invalid code point.');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if ('file' == this._scheme) {
 | 
	
		
			
				|  |  | +            if ('file' === this._scheme) {
 | 
	
		
			
				|  |  |                state = 'file host';
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                state = 'authority ignore slashes';
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  | -            if ('file' != this._scheme) {
 | 
	
		
			
				|  |  | +            if ('file' !== this._scheme) {
 | 
	
		
			
				|  |  |                this._host = base._host;
 | 
	
		
			
				|  |  |                this._port = base._port;
 | 
	
		
			
				|  |  |                this._username = base._username;
 | 
	
	
		
			
				|  | @@ -2970,10 +2972,10 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'authority first slash':
 | 
	
		
			
				|  |  | -          if ('/' == c) {
 | 
	
		
			
				|  |  | +          if ('/' === c) {
 | 
	
		
			
				|  |  |              state = 'authority second slash';
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  | -            err("Expected '/', got: " + c);
 | 
	
		
			
				|  |  | +            err('Expected \'/\', got: ' + c);
 | 
	
		
			
				|  |  |              state = 'authority ignore slashes';
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |            }
 | 
	
	
		
			
				|  | @@ -2981,14 +2983,14 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'authority second slash':
 | 
	
		
			
				|  |  |            state = 'authority ignore slashes';
 | 
	
		
			
				|  |  | -          if ('/' != c) {
 | 
	
		
			
				|  |  | -            err("Expected '/', got: " + c);
 | 
	
		
			
				|  |  | +          if ('/' !== c) {
 | 
	
		
			
				|  |  | +            err('Expected \'/\', got: ' + c);
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'authority ignore slashes':
 | 
	
		
			
				|  |  | -          if ('/' != c && '\\' != c) {
 | 
	
		
			
				|  |  | +          if ('/' !== c && '\\' !== c) {
 | 
	
		
			
				|  |  |              state = 'authority';
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |            } else {
 | 
	
	
		
			
				|  | @@ -2997,7 +2999,7 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'authority':
 | 
	
		
			
				|  |  | -          if ('@' == c) {
 | 
	
		
			
				|  |  | +          if ('@' === c) {
 | 
	
		
			
				|  |  |              if (seenAt) {
 | 
	
		
			
				|  |  |                err('@ already seen.');
 | 
	
		
			
				|  |  |                buffer += '%40';
 | 
	
	
		
			
				|  | @@ -3005,20 +3007,25 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              seenAt = true;
 | 
	
		
			
				|  |  |              for (var i = 0; i < buffer.length; i++) {
 | 
	
		
			
				|  |  |                var cp = buffer[i];
 | 
	
		
			
				|  |  | -              if ('\t' == cp || '\n' == cp || '\r' == cp) {
 | 
	
		
			
				|  |  | +              if ('\t' === cp || '\n' === cp || '\r' === cp) {
 | 
	
		
			
				|  |  |                  err('Invalid whitespace in authority.');
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  |                // XXX check URL code points
 | 
	
		
			
				|  |  | -              if (':' == cp && null === this._password) {
 | 
	
		
			
				|  |  | +              if (':' === cp && null === this._password) {
 | 
	
		
			
				|  |  |                  this._password = '';
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  |                var tempC = percentEscape(cp);
 | 
	
		
			
				|  |  | -              (null !== this._password) ? this._password += tempC : this._username += tempC;
 | 
	
		
			
				|  |  | +              if (null !== this._password) {
 | 
	
		
			
				|  |  | +                this._password += tempC;
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                this._username += tempC;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              buffer = '';
 | 
	
		
			
				|  |  | -          } else if (EOF == c || '/' == c || '\\' == c || '?' == c || '#' == c) {
 | 
	
		
			
				|  |  | +          } else if (EOF === c || '/' === c || '\\' === c ||
 | 
	
		
			
				|  |  | +                     '?' === c || '#' === c) {
 | 
	
		
			
				|  |  |              cursor -= buffer.length;
 | 
	
		
			
				|  |  |              buffer = '';
 | 
	
		
			
				|  |  |              state = 'host';
 | 
	
	
		
			
				|  | @@ -3029,10 +3036,11 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'file host':
 | 
	
		
			
				|  |  | -          if (EOF == c || '/' == c || '\\' == c || '?' == c || '#' == c) {
 | 
	
		
			
				|  |  | -            if (buffer.length == 2 && ALPHA.test(buffer[0]) && (buffer[1] == ':' || buffer[1] == '|')) {
 | 
	
		
			
				|  |  | +          if (EOF === c || '/' === c || '\\' === c || '?' === c || '#' === c) {
 | 
	
		
			
				|  |  | +            if (buffer.length === 2 && ALPHA.test(buffer[0]) &&
 | 
	
		
			
				|  |  | +                (buffer[1] === ':' || buffer[1] === '|')) {
 | 
	
		
			
				|  |  |                state = 'relative path';
 | 
	
		
			
				|  |  | -            } else if (buffer.length == 0) {
 | 
	
		
			
				|  |  | +            } else if (buffer.length === 0) {
 | 
	
		
			
				|  |  |                state = 'relative path start';
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                this._host = IDNAToASCII.call(this, buffer);
 | 
	
	
		
			
				|  | @@ -3040,7 +3048,7 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |                state = 'relative path start';
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  | -          } else if ('\t' == c || '\n' == c || '\r' == c) {
 | 
	
		
			
				|  |  | +          } else if ('\t' === c || '\n' === c || '\r' === c) {
 | 
	
		
			
				|  |  |              err('Invalid whitespace in file host.');
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  |              buffer += c;
 | 
	
	
		
			
				|  | @@ -3049,15 +3057,16 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'host':
 | 
	
		
			
				|  |  |          case 'hostname':
 | 
	
		
			
				|  |  | -          if (':' == c && !seenBracket) {
 | 
	
		
			
				|  |  | +          if (':' === c && !seenBracket) {
 | 
	
		
			
				|  |  |              // XXX host parsing
 | 
	
		
			
				|  |  |              this._host = IDNAToASCII.call(this, buffer);
 | 
	
		
			
				|  |  |              buffer = '';
 | 
	
		
			
				|  |  |              state = 'port';
 | 
	
		
			
				|  |  | -            if ('hostname' == stateOverride) {
 | 
	
		
			
				|  |  | +            if ('hostname' === stateOverride) {
 | 
	
		
			
				|  |  |                break loop;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -          } else if (EOF == c || '/' == c || '\\' == c || '?' == c || '#' == c) {
 | 
	
		
			
				|  |  | +          } else if (EOF === c || '/' === c ||
 | 
	
		
			
				|  |  | +                     '\\' === c || '?' === c || '#' === c) {
 | 
	
		
			
				|  |  |              this._host = IDNAToASCII.call(this, buffer);
 | 
	
		
			
				|  |  |              buffer = '';
 | 
	
		
			
				|  |  |              state = 'relative path start';
 | 
	
	
		
			
				|  | @@ -3065,10 +3074,10 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |                break loop;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  | -          } else if ('\t' != c && '\n' != c && '\r' != c) {
 | 
	
		
			
				|  |  | -            if ('[' == c) {
 | 
	
		
			
				|  |  | +          } else if ('\t' !== c && '\n' !== c && '\r' !== c) {
 | 
	
		
			
				|  |  | +            if ('[' === c) {
 | 
	
		
			
				|  |  |                seenBracket = true;
 | 
	
		
			
				|  |  | -            } else if (']' == c) {
 | 
	
		
			
				|  |  | +            } else if (']' === c) {
 | 
	
		
			
				|  |  |                seenBracket = false;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              buffer += c;
 | 
	
	
		
			
				|  | @@ -3080,10 +3089,11 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |          case 'port':
 | 
	
		
			
				|  |  |            if (/[0-9]/.test(c)) {
 | 
	
		
			
				|  |  |              buffer += c;
 | 
	
		
			
				|  |  | -          } else if (EOF == c || '/' == c || '\\' == c || '?' == c || '#' == c || stateOverride) {
 | 
	
		
			
				|  |  | -            if ('' != buffer) {
 | 
	
		
			
				|  |  | +          } else if (EOF === c || '/' === c || '\\' === c ||
 | 
	
		
			
				|  |  | +                     '?' === c || '#' === c || stateOverride) {
 | 
	
		
			
				|  |  | +            if ('' !== buffer) {
 | 
	
		
			
				|  |  |                var temp = parseInt(buffer, 10);
 | 
	
		
			
				|  |  | -              if (temp != relative[this._scheme]) {
 | 
	
		
			
				|  |  | +              if (temp !== relative[this._scheme]) {
 | 
	
		
			
				|  |  |                  this._port = temp + '';
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  |                buffer = '';
 | 
	
	
		
			
				|  | @@ -3093,7 +3103,7 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              state = 'relative path start';
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  | -          } else if ('\t' == c || '\n' == c || '\r' == c) {
 | 
	
		
			
				|  |  | +          } else if ('\t' === c || '\n' === c || '\r' === c) {
 | 
	
		
			
				|  |  |              err('Invalid code point in port: ' + c);
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  |              invalid.call(this);
 | 
	
	
		
			
				|  | @@ -3101,60 +3111,64 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'relative path start':
 | 
	
		
			
				|  |  | -          if ('\\' == c)
 | 
	
		
			
				|  |  | -            err("'\\' not allowed in path.");
 | 
	
		
			
				|  |  | +          if ('\\' === c) {
 | 
	
		
			
				|  |  | +            err('\'\\\' not allowed in path.');
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |            state = 'relative path';
 | 
	
		
			
				|  |  | -          if ('/' != c && '\\' != c) {
 | 
	
		
			
				|  |  | +          if ('/' !== c && '\\' !== c) {
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'relative path':
 | 
	
		
			
				|  |  | -          if (EOF == c || '/' == c || '\\' == c || (!stateOverride && ('?' == c || '#' == c))) {
 | 
	
		
			
				|  |  | -            if ('\\' == c) {
 | 
	
		
			
				|  |  | +          if (EOF === c || '/' === c || '\\' === c ||
 | 
	
		
			
				|  |  | +              (!stateOverride && ('?' === c || '#' === c))) {
 | 
	
		
			
				|  |  | +            if ('\\' === c) {
 | 
	
		
			
				|  |  |                err('\\ not allowed in relative path.');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              var tmp;
 | 
	
		
			
				|  |  |              if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {
 | 
	
		
			
				|  |  |                buffer = tmp;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if ('..' == buffer) {
 | 
	
		
			
				|  |  | +            if ('..' === buffer) {
 | 
	
		
			
				|  |  |                this._path.pop();
 | 
	
		
			
				|  |  | -              if ('/' != c && '\\' != c) {
 | 
	
		
			
				|  |  | +              if ('/' !== c && '\\' !== c) {
 | 
	
		
			
				|  |  |                  this._path.push('');
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  | -            } else if ('.' == buffer && '/' != c && '\\' != c) {
 | 
	
		
			
				|  |  | +            } else if ('.' === buffer && '/' !== c && '\\' !== c) {
 | 
	
		
			
				|  |  |                this._path.push('');
 | 
	
		
			
				|  |  | -            } else if ('.' != buffer) {
 | 
	
		
			
				|  |  | -              if ('file' == this._scheme && this._path.length == 0 && buffer.length == 2 && ALPHA.test(buffer[0]) && buffer[1] == '|') {
 | 
	
		
			
				|  |  | +            } else if ('.' !== buffer) {
 | 
	
		
			
				|  |  | +              if ('file' === this._scheme && this._path.length === 0 &&
 | 
	
		
			
				|  |  | +                  buffer.length === 2 && ALPHA.test(buffer[0]) &&
 | 
	
		
			
				|  |  | +                  buffer[1] === '|') {
 | 
	
		
			
				|  |  |                  buffer = buffer[0] + ':';
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  |                this._path.push(buffer);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              buffer = '';
 | 
	
		
			
				|  |  | -            if ('?' == c) {
 | 
	
		
			
				|  |  | +            if ('?' === c) {
 | 
	
		
			
				|  |  |                this._query = '?';
 | 
	
		
			
				|  |  |                state = 'query';
 | 
	
		
			
				|  |  | -            } else if ('#' == c) {
 | 
	
		
			
				|  |  | +            } else if ('#' === c) {
 | 
	
		
			
				|  |  |                this._fragment = '#';
 | 
	
		
			
				|  |  |                state = 'fragment';
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -          } else if ('\t' != c && '\n' != c && '\r' != c) {
 | 
	
		
			
				|  |  | +          } else if ('\t' !== c && '\n' !== c && '\r' !== c) {
 | 
	
		
			
				|  |  |              buffer += percentEscape(c);
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'query':
 | 
	
		
			
				|  |  | -          if (!stateOverride && '#' == c) {
 | 
	
		
			
				|  |  | +          if (!stateOverride && '#' === c) {
 | 
	
		
			
				|  |  |              this._fragment = '#';
 | 
	
		
			
				|  |  |              state = 'fragment';
 | 
	
		
			
				|  |  | -          } else if (EOF != c && '\t' != c && '\n' != c && '\r' != c) {
 | 
	
		
			
				|  |  | +          } else if (EOF !== c && '\t' !== c && '\n' !== c && '\r' !== c) {
 | 
	
		
			
				|  |  |              this._query += percentEscapeQuery(c);
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          case 'fragment':
 | 
	
		
			
				|  |  | -          if (EOF != c && '\t' != c && '\n' != c && '\r' != c) {
 | 
	
		
			
				|  |  | +          if (EOF !== c && '\t' !== c && '\n' !== c && '\r' !== c) {
 | 
	
		
			
				|  |  |              this._fragment += c;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            break;
 | 
	
	
		
			
				|  | @@ -3180,9 +3194,10 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    // Does not process domain names or IP addresses.
 | 
	
		
			
				|  |  |    // Does not handle encoding for the query parameter.
 | 
	
		
			
				|  |  | -  function jURL(url, base /* , encoding */) {
 | 
	
		
			
				|  |  | -    if (base !== undefined && !(base instanceof jURL))
 | 
	
		
			
				|  |  | -      base = new jURL(String(base));
 | 
	
		
			
				|  |  | +  function JURL(url, base /* , encoding */) {
 | 
	
		
			
				|  |  | +    if (base !== undefined && !(base instanceof JURL)) {
 | 
	
		
			
				|  |  | +      base = new JURL(String(base));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      this._url = url;
 | 
	
		
			
				|  |  |      clear.call(this);
 | 
	
	
		
			
				|  | @@ -3193,18 +3208,18 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |      parse.call(this, input, null, base);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  jURL.prototype = {
 | 
	
		
			
				|  |  | +  JURL.prototype = {
 | 
	
		
			
				|  |  |      toString: function() {
 | 
	
		
			
				|  |  |        return this.href;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      get href() {
 | 
	
		
			
				|  |  | -      if (this._isInvalid)
 | 
	
		
			
				|  |  | +      if (this._isInvalid) {
 | 
	
		
			
				|  |  |          return this._url;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        var authority = '';
 | 
	
		
			
				|  |  | -      if ('' != this._username || null != this._password) {
 | 
	
		
			
				|  |  | +      if ('' !== this._username || null !== this._password) {
 | 
	
		
			
				|  |  |          authority = this._username +
 | 
	
		
			
				|  |  | -            (null != this._password ? ':' + this._password : '') + '@';
 | 
	
		
			
				|  |  | +            (null !== this._password ? ':' + this._password : '') + '@';
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        return this.protocol +
 | 
	
	
		
			
				|  | @@ -3220,8 +3235,9 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |        return this._scheme + ':';
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set protocol(protocol) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid)
 | 
	
		
			
				|  |  | +      if (this._isInvalid) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        parse.call(this, protocol + ':', 'scheme start');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3230,8 +3246,9 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            this._host + ':' + this._port : this._host;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set host(host) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid || !this._isRelative)
 | 
	
		
			
				|  |  | +      if (this._isInvalid || !this._isRelative) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        parse.call(this, host, 'host');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3239,8 +3256,9 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |        return this._host;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set hostname(hostname) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid || !this._isRelative)
 | 
	
		
			
				|  |  | +      if (this._isInvalid || !this._isRelative) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        parse.call(this, hostname, 'hostname');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3248,8 +3266,9 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |        return this._port;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set port(port) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid || !this._isRelative)
 | 
	
		
			
				|  |  | +      if (this._isInvalid || !this._isRelative) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        parse.call(this, port, 'port');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3258,35 +3277,40 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |            '/' + this._path.join('/') : this._schemeData;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set pathname(pathname) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid || !this._isRelative)
 | 
	
		
			
				|  |  | +      if (this._isInvalid || !this._isRelative) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        this._path = [];
 | 
	
		
			
				|  |  |        parse.call(this, pathname, 'relative path start');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      get search() {
 | 
	
		
			
				|  |  | -      return this._isInvalid || !this._query || '?' == this._query ?
 | 
	
		
			
				|  |  | +      return this._isInvalid || !this._query || '?' === this._query ?
 | 
	
		
			
				|  |  |            '' : this._query;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set search(search) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid || !this._isRelative)
 | 
	
		
			
				|  |  | +      if (this._isInvalid || !this._isRelative) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        this._query = '?';
 | 
	
		
			
				|  |  | -      if ('?' == search[0])
 | 
	
		
			
				|  |  | +      if ('?' === search[0]) {
 | 
	
		
			
				|  |  |          search = search.slice(1);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        parse.call(this, search, 'query');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      get hash() {
 | 
	
		
			
				|  |  | -      return this._isInvalid || !this._fragment || '#' == this._fragment ?
 | 
	
		
			
				|  |  | +      return this._isInvalid || !this._fragment || '#' === this._fragment ?
 | 
	
		
			
				|  |  |            '' : this._fragment;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      set hash(hash) {
 | 
	
		
			
				|  |  | -      if (this._isInvalid)
 | 
	
		
			
				|  |  | +      if (this._isInvalid) {
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        this._fragment = '#';
 | 
	
		
			
				|  |  | -      if ('#' == hash[0])
 | 
	
		
			
				|  |  | +      if ('#' === hash[0]) {
 | 
	
		
			
				|  |  |          hash = hash.slice(1);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        parse.call(this, hash, 'fragment');
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3318,18 +3342,17 @@ function loadJpegStream(id, imageUrl, objs) {
 | 
	
		
			
				|  |  |    // Copy over the static methods
 | 
	
		
			
				|  |  |    var OriginalURL = scope.URL;
 | 
	
		
			
				|  |  |    if (OriginalURL) {
 | 
	
		
			
				|  |  | -    jURL.createObjectURL = function(blob) {
 | 
	
		
			
				|  |  | +    JURL.createObjectURL = function(blob) {
 | 
	
		
			
				|  |  |        // IE extension allows a second optional options argument.
 | 
	
		
			
				|  |  |        // http://msdn.microsoft.com/en-us/library/ie/hh772302(v=vs.85).aspx
 | 
	
		
			
				|  |  |        return OriginalURL.createObjectURL.apply(OriginalURL, arguments);
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  | -    jURL.revokeObjectURL = function(url) {
 | 
	
		
			
				|  |  | +    JURL.revokeObjectURL = function(url) {
 | 
	
		
			
				|  |  |        OriginalURL.revokeObjectURL(url);
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  scope.URL = jURL;
 | 
	
		
			
				|  |  | -  /* jshint ignore:end */
 | 
	
		
			
				|  |  | +  scope.URL = JURL;
 | 
	
		
			
				|  |  |  })(globalScope);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
 |