Closed alexandereric995 closed 2 years ago
!function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,n){(function(e){function n(){var e;o.each(a,function(e,t){var n=o('label[for="'+t[0]+'"]');n.text(n.text().replace(/:./,": "+o("#"+t[0]).val()+t[1]))}),e={render:o("#render").val(),ecLevel:o("#eclevel").val(),minVersion:parseInt(o("#minversion").val(),10),fill:o("#fill").val(),background:o("#background").val(),text:o("#text").val(),size:parseInt(o("#size").val(),10),radius:.01parseInt(o("#radius").val(),10),quiet:parseInt(o("#quiet").val(),10),mode:parseInt(o("#mode").val(),10),mSize:.01parseInt(o("#msize").val(),10),mPosX:.01parseInt(o("#mposx").val(),10),mPosY:.01*parseInt(o("#mposy").val(),10),label:o("#label").val(),fontname:o("#font").val(),fontcolor:o("#fontcolor").val(),image:o("#img-buffer")[0]},o("#container").empty().qrcode(e)}function t(){var e,t=o("#image")[0];t.files&&t.files[0]&&((e=new r.FileReader).onload=function(e){o("#img-buffer").attr("src",e.target.result),o("#mode").val("4"),setTimeout(n,250)},e.readAsDataURL(t.files[0]))}var r=e.window,o=r.jQuery,a=[["size","px"],["minversion",""],["quiet"," modules"],["radius","%"],["msize","%"],["mposx","%"],["mposy","%"]];o(function(){o("#image").on("change",t),o("input, textarea, select").on("input change",n),o(r).on("load",n),n()})}).call(this,n(1))},function(e,t){var n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n}]);
/! jquery-qrcode v0.18.0 - https://larsjung.de/jquery-qrcode/ / !function(t,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("jquery-qrcode",[],r):"object"==typeof exports?exports["jquery-qrcode"]=r():t["jquery-qrcode"]=r()}("undefined"!=typeof self?self:this,function(){return n={},o.m=e=[function(t,r,f){function p(t){return t&&"string"==typeof t.tagName&&"IMG"===t.tagName.toUpperCase()}function h(t,r,e,n,o){e=Math.max(1,e||1),n=Math.min(40,n||40);for(var i=e;i<=n;i+=1)try{return function(t,r,e,n){var o={},i=f(1);i.stringToBytes=i.stringToBytesFuncs["UTF-8"];var a=i(e,r);a.addData(t),a.make(),n=n||0;var u=a.getModuleCount(),s=u+2n;return o.text=t,o.level=r,o.version=e,o.module_count=s,o.is_dark=function(t,r){return r-=n,0<=(t-=n)&&t<u&&0<=r&&r<u&&a.isDark(t,r)},o.add_blank=function(a,u,f,l){var c=o.is_dark,g=1/s;o.is_dark=function(t,r){var e=rg,n=tg,o=e+g,i=n+g;return c(t,r)&&(o<a||f<e||i<u||l<n)}},o}(t,r,i,o)}catch(t){}}function i(t,r,e){p(e.background)?r.drawImage(e.background,0,0,e.size,e.size):e.background&&(r.fillStyle=e.background,r.fillRect(e.left,e.top,e.size,e.size));var n,o,i,a,u,f,l,c,g,s,h,d,v=e.mode;1===v||2===v?function(t,r,e){var n=e.size,o="bold "+e.mSizen+"px "+e.fontname,i=w("")[0].getContext("2d");i.font=o;var a=i.measureText(e.label).width,u=e.mSize,f=a/n,l=(1-f)e.mPosX,c=(1-u)e.mPosY,g=l+f,s=c+u;1===e.mode?t.add_blank(0,c-.01,n,s+.01):t.add_blank(l-.01,c-.01,.01+g,s+.01),r.fillStyle=e.fontcolor,r.font=o,r.fillText(e.label,ln,cn+.75e.mSizen)}(t,r,e):!p(e.image)||3!==v&&4!==v||(n=t,o=r,a=(i=e).size,u=i.image.naturalWidth||1,f=i.image.naturalHeight||1,l=i.mSize,g=(1-(c=lu/f))i.mPosX,s=(1-l)i.mPosY,h=g+c,d=s+l,3===i.mode?n.add_blank(0,s-.01,a,d+.01):n.add_blank(g-.01,s-.01,.01+h,d+.01),o.drawImage(i.image,ga,sa,ca,la))}function s(t,r,e,n,o,i,a,u){t.is_dark(a,u)&&r.r(n,o,i,i)}function d(t,r,e,n,o,i,a,u){var f,l,c,g,s,h,d,v,p,w,y,m,b,k,x,B,C,A,M,S=n+i,L=o+i,D=e.radiusi,T=a-1,z=a+1,P=u-1,j=u+1,I=t.isdark,=I(a,u),q=I(T,P),O=I(T,u),F=I(T,j),R=I(a,j),H=I(z,j),N=I(z,u),U=I(z,P),V=I(a,P);_?(w=r,y=n,m=o,b=S,k=L,x=D,C=!O&&!R,A=!N&&!R,M=!N&&!V,(B=!O&&!V)?w.m(y+x,m):w.m(y,m),C?w.l(b-x,m).a(b,m,b,k,x):w.l(b,m),A?w.l(b,k-x).a(b,k,y,k,x):w.l(b,k),M?w.l(y+x,k).a(y,k,y,m,x):w.l(y,k),B?w.l(y,m+x).a(y,m,b,m,x):w.l(y,m)):(f=r,l=n,c=o,g=S,s=L,h=D,d=O&&R&&F,v=N&&R&&H,p=N&&V&&U,O&&V&&q&&f.m(l+h,c).l(l,c).l(l,c+h).a(l,c,l+h,c,h),d&&f.m(g-h,c).l(g,c).l(g,c+h).a(g,c,g-h,c,h),v&&f.m(g-h,s).l(g,s).l(g,s-h).a(g,s,g-h,s,h),p&&f.m(l+h,s).l(l,s).l(l,s-h).a(l,s,l+h,s,h))}function n(t,r){var e=h(r.text,r.ecLevel,r.minVersion,r.maxVersion,r.quiet);if(!e)return null;var n=w(t).data("qrcode",e),o=n[0].getContext("2d");return i(e,o,r),function(t,e,r){var n=t.module_count,o=r.size/n,i=s;0<r.radius&&r.radius<=.5&&(i=d);var a={m:function(t,r){return e.moveTo(t,r),a},l:function(t,r){return e.lineTo(t,r),a},a:function(){return e.arcTo.apply(e,arguments),a},r:function(){return e.rect.apply(e,arguments),a}};e.beginPath();for(var u,f=0;f<n;f+=1)for(var l=0;l<n;l+=1){var c=r.left+lo,g=r.top+fo;i(t,a,r,c,g,o,f,l)}p(r.fill)?(e.strokeStyle="rgba(0,0,0,0.5)",e.lineWidth=2,e.stroke(),u=e.globalCompositeOperation,e.globalCompositeOperation="destination-out",e.fill(),e.globalCompositeOperation=u,e.clip(),e.drawImage(r.fill,0,0,r.size,r.size),e.restore()):(e.fillStyle=r.fill,e.fill())}(e,o,r),n}function e(t){var r=w("").attr("width",t.size).attr("height",t.size);return n(r,t)}function o(t){return"canvas"===t.render?e(t):"image"===t.render?(r=t,w("").attr("src",e(r)[0].toDataURL("image/png"))):function(t){var r=h(t.text,t.ecLevel,t.minVersion,t.maxVersion,t.quiet);if(!r)return null;var e=t.size,n=t.background,o=Math.floor,i=r.module_count,a=o(e/i),u=o(.5(e-ai)),f={position:"relative",left:0,top:0,padding:0,margin:0,width:e,height:e},l={position:"absolute",padding:0,margin:0,width:a,height:a,"background-color":t.fill},c=w("
").data("qrcode",r).css(f);n&&c.css("background-color",n);for(var g=0;g<i;g+=1)for(var s=0;s<i;s+=1)r.is_dark(g,s)&&w("").css(l).css({left:u+sa,top:u+ga}).appendTo(c);return c}(t);var r}var w=window.jQuery,a={render:"canvas",minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:"#fff",text:"no text",radius:0,quiet:0,mode:0,mSize:.1,mPosX:.5,mPosY:.5,label:"no label",fontname:"sans",fontcolor:"#000",image:null};w.fn.qrcode=t.exports=function(t){var e=w.extend({},a,t);return this.each(function(t,r){"canvas"===r.nodeName.toLowerCase()?n(r,e):w(r).append(o(e))})}},function(t,r,e){var n,o,i,a=function(){function i(t,r){function a(t,r){c=function(t){for(var r=new Array(t),e=0;e<t;e+=1){r[e]=new Array(t);for(var n=0;n<t;n+=1)r[e][n]=null}return r}(g=4u+17),e(0,0),e(g-7,0),e(0,g-7),i(),o(),d(t,r),7<=u&&s(t),null==n&&(n=p(u,f,l)),v(n,r)}var u=t,f=y[r],c=null,g=0,n=null,l=[],h={},e=function(t,r){for(var e=-1;e<=7;e+=1)if(!(t+e<=-1||g<=t+e))for(var n=-1;n<=7;n+=1)r+n<=-1||g<=r+n||(c[t+e][r+n]=0<=e&&e<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==e||6==e)||2<=e&&e<=4&&2<=n&&n<=4)},o=function(){for(var t=8;t<g-8;t+=1)null==c[t][6]&&(c[t][6]=t%2==0);for(var r=8;r<g-8;r+=1)null==c[6][r]&&(c[6][r]=r%2==0)},i=function(){for(var t=m.getPatternPosition(u),r=0;r<t.length;r+=1)for(var e=0;e<t.length;e+=1){var n=t[r],o=t[e];if(null==c[n][o])for(var i=-2;i<=2;i+=1)for(var a=-2;a<=2;a+=1)c[n+i][o+a]=-2==i||2==i||-2==a||2==a||0==i&&0==a}},s=function(t){for(var r=m.getBCHTypeNumber(u),e=0;e<18;e+=1){var n=!t&&1==(r>>e&1);c[Math.floor(e/3)][e%3+g-8-3]=n}for(e=0;e<18;e+=1){n=!t&&1==(r>>e&1);c[e%3+g-8-3][Math.floor(e/3)]=n}},d=function(t,r){for(var e=f<<3|r,n=m.getBCHTypeInfo(e),o=0;o<15;o+=1){var i=!t&&1==(n>>o&1);o<6?c[o][8]=i:o<8?c[o+1][8]=i:c[g-15+o][8]=i}for(o=0;o<15;o+=1){i=!t&&1==(n>>o&1);o<8?c[8][g-o-1]=i:o<9?c[8][15-o-1+1]=i:c[8][15-o-1]=i}c[g-8][8]=!t},v=function(t,r){for(var e=-1,n=g-1,o=7,i=0,a=m.getMaskFunction(r),u=g-1;0<u;u-=2)for(6==u&&--u;;){for(var f,l=0;l<2;l+=1){null==c[n][u-l]&&(f=!1,i<t.length&&(f=1==(t[i]>>>o&1)),a(n,u-l)&&(f=!f),c[n][u-l]=f,-1==--o&&(i+=1,o=7))}if((n+=e)<0||g<=n){n-=e,e=-e;break}}},p=function(t,r,e){for(var n=A.getRSBlocks(t,r),o=M(),i=0;i<e.length;i+=1){var a=e[i];o.put(a.getMode(),4),o.put(a.getLength(),m.getLengthInBits(a.getMode(),t)),a.write(o)}for(var u=0,i=0;i<n.length;i+=1)u+=n[i].dataCount;if(o.getLengthInBits()>8u)throw"code length overflow. ("+o.getLengthInBits()+">"+8u+")";for(o.getLengthInBits()+4<=8u&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8u||(o.put(236,8),o.getLengthInBits()>=8u));)o.put(17,8);return function(t,r){for(var e=0,n=0,o=0,i=new Array(r.length),a=new Array(r.length),u=0;u<r.length;u+=1){var f=r[u].dataCount,l=r[u].totalCount-f,n=Math.max(n,f),o=Math.max(o,l);i[u]=new Array(f);for(var c=0;c<i[u].length;c+=1)i[u][c]=255&t.getBuffer()[c+e];e+=f;var g=m.getErrorCorrectPolynomial(l),s=b(i[u],g.getLength()-1).mod(g);a[u]=new Array(g.getLength()-1);for(c=0;c<a[u].length;c+=1){var h=c+s.getLength()-a[u].length;a[u][c]=0<=h?s.getAt(h):0}}for(var d=0,c=0;c<r.length;c+=1)d+=r[c].totalCount;for(var v=new Array(d),p=0,c=0;c<n;c+=1)for(u=0;u<r.length;u+=1)c<i[u].length&&(v[p]=i[u][c],p+=1);for(c=0;c<o;c+=1)for(u=0;u<r.length;u+=1)c<a[u].length&&(v[p]=a[u][c],p+=1);return v}(o,n)};h.addData=function(t,r){var e=null;switch(r=r||"Byte"){case"Numeric":e=S(t);break;case"Alphanumeric":e=L(t);break;case"Byte":e=D(t);break;case"Kanji":e=T(t);break;default:throw"mode:"+r}l.push(e),n=null},h.isDark=function(t,r){if(t<0||g<=t||r<0||g<=r)throw t+","+r;return c[t][r]},h.getModuleCount=function(){return g},h.make=function(){if(u<1){for(var t=1;t<40;t++){for(var r=A.getRSBlocks(t,f),e=M(),n=0;n<l.length;n++){var o=l[n];e.put(o.getMode(),4),e.put(o.getLength(),m.getLengthInBits(o.getMode(),t)),o.write(e)}for(var i=0,n=0;n<r.length;n++)i+=r[n].dataCount;if(e.getLengthInBits()<=8i)break}u=t}a(!1,function(){for(var t=0,r=0,e=0;e<8;e+=1){a(!0,e);var n=m.getLostPoint(h);(0==e||n<t)&&(t=n,r=e)}return r}())},h.createTableTag=function(t,r){t=t||2;var e="";e+='<table style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: "+(r=void 0===r?4t:r)+"px;",e+='">',e+="";for(var n=0;n<h.getModuleCount();n+=1){e+="!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"proto"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\x20\t\r\n\f]",I="(?:\\[\da-fA-F]{1,6}"+M+"?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+",W="\["+M+"("+I+")(?:"+M+"([^$|!~]?=)"+M+"(?:'((?:\\.|[^\\']))'|\"((?:\\.|[^\\\"]))\"|("+I+"))|)"+M+"\]",F=":("+I+")(?:\((('((?:\\.|[^\\']))'|\"((?:\\.|[^\\\"]))\")|((?:\\.|[^\\()[\]]|"+W+"))|.)\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\])(?:\\.))"+M+"+$","g"),_=new RegExp("^"+M+","+M+""),z=new RegExp("^"+M+"([>+~]|"+M+")"+M+""),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\.("+I+")"),TAG:new RegExp("^("+I+"|[])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\("+M+"(even|odd|(([+-]|)(\d)n|)"+M+"(?:([+-]|)"+M+"(\d+)|))"+M+"\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\("+M+"((?:-\d)?\d)"+M+"\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+{\s[native \w/,Z=/^(?:#([\w-]+)|(\w+)|.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\[\da-fA-F]{1,6}"+M+"?|\\([^\r\n\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\"+e.charCodeAt(e.length-1).toString(16)+" ":"\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(""===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[^$]="+M+"(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\["+M+"(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\["+M+"name"+M+"="+M+"(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+").length||v.push(".#.+[+~]"),e.querySelectorAll("\\f"),v.push("[\r\n\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"[^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll(",:x"),v.push(",.:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,""),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return""===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!ir)return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=uo)||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f])[\x20\t\r\n\f]\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s(<[\w\W]+>)[^>]|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?thisr:this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):rt[0]+"With"})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)"catch",this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:{[\w\W]}|[[\w\W]])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%])$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f])/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("jquery-qrcode", [], factory); else if(typeof exports === 'object') exports["jquery-qrcode"] = factory(); else root["jquery-qrcode"] = factory(); })((typeof self !== 'undefined' ? self : this), function() { return /**/ (function(modules) { // webpackBootstrap /**/ // The module cache /**/ var installedModules = {}; /**/ /**/ // The require function /**/ function webpack_require(moduleId) { /**/ /**/ // Check if module is in cache /**/ if(installedModules[moduleId]) { /**/ return installedModules[moduleId].exports; /**/ } /**/ // Create a new module (and put it into the cache) /**/ var module = installedModules[moduleId] = { /**/ i: moduleId, /**/ l: false, /**/ exports: {} /**/ }; /**/ /**/ // Execute the module function /**/ modules[moduleId].call(module.exports, module, module.exports, webpack_require); /**/ /**/ // Flag the module as loaded /**/ module.l = true; /**/ /**/ // Return the exports of the module /**/ return module.exports; /**/ } /**/ /**/ /**/ // expose the modules object (webpack_modules) /**/ webpack_require.m = modules; /**/ /**/ // expose the module cache /**/ webpack_require.c = installedModules; /**/ /**/ // define getter function for harmony exports /**/ webpack_require.d = function(exports, name, getter) { /**/ if(!webpack_require.o(exports, name)) { /**/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /**/ } /**/ }; /**/ /**/ // define esModule on exports /**/ __webpack_require.r = function(exports) { /**/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /**/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /**/ } /**/ Object.defineProperty(exports, 'esModule', { value: true }); /**/ }; /**/ /**/ // create a fake namespace object /**/ // mode & 1: value is a module id, require it /**/ // mode & 2: merge all properties of value into the ns /**/ // mode & 4: return value when already ns object /**/ // mode & 8|1: behave like require /**/ webpack_require.t = function(value, mode) { /**/ if(mode & 1) value = webpack_require(value); /**/ if(mode & 8) return value; /**/ if((mode & 4) && typeof value === 'object' && value && value.esModule) return value; /**/ var ns = Object.create(null); /**/ webpack_require.r(ns); /**/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /**/ if(mode & 2 && typeof value != 'string') for(var key in value) webpack_require.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /**/ return ns; /**/ }; /**/ /**/ // getDefaultExport function for compatibility with non-harmony modules /**/ webpack_require.n = function(module) { /**/ var getter = module && module.esModule ? /**/ function getDefault() { return module['default']; } : /**/ function getModuleExports() { return module; }; /**/ __webpack_require.d(getter, 'a', getter); /**/ return getter; /**/ }; /**/ /**/ // Object.prototype.hasOwnProperty.call /**/ webpack_require.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /**/ /**/ // webpack_public_path /**/ webpack_require.p = ""; /**/ /**/ /**/ // Load entry module and return exports /**/ return webpack_require(webpack_require.s = 0); /**/ }) /****/ /**/ ([ / 0 / /***/ (function(module, exports, __webpack_require__) {
var WIN = window; // eslint-disable-line
var JQ = WIN.jQuery;
var is_img_el = function is_img_el(x) { return x && typeof x.tagName === 'string' && x.tagName.toUpperCase() === 'IMG'; }; // Wrapper for the original QR code generator.
var create_qrcode = function create_qrcode(text, level, version, quiet) { var qr = {};
var qr_gen = __webpack_require__(1);
qr_gen.stringToBytes = qr_gen.stringToBytesFuncs['UTF-8']; var vqr = qr_gen(version, level); vqr.addData(text); vqr.make(); quiet = quiet || 0; var module_count = vqr.getModuleCount(); var quiet_module_count = module_count + 2 * quiet;
var is_dark = function is_dark(row, col) { row -= quiet; col -= quiet; return row >= 0 && row < module_count && col >= 0 && col < module_count && vqr.isDark(row, col); };
var add_blank = function add_blank(l, t, r, b) { var prev_is_dark = qr.is_dark; var module_size = 1 / quiet_module_count;
};
qr.text = text; qr.level = level; qr.version = version; qr.module_count = quiet_module_count; qr.is_dark = is_dark; qr.add_blank = add_blank; return qr; }; // Returns a minimal QR code for the given text starting with version
min_ver
. // Returnsundefined
iftext
is too long to be encoded inmax_ver
.var create_min_qrcode = function create_min_qrcode(text, level, min_ver, max_ver, quiet) { min_ver = Math.max(1, min_ver || 1); max_ver = Math.min(40, max_ver || 40);
for (var ver = min_ver; ver <= max_ver; ver += 1) { try { return create_qrcode(text, level, ver, quiet); } catch (err) { / empty / } }
return undefined; };
var draw_background_label = function draw_background_label(qr, ctx, settings) { var size = settings.size; var font = 'bold ' + settings.mSize size + 'px ' + settings.fontname; var tmp_ctx = JQ('')[0].getContext('2d'); tmp_ctx.font = font; var w = tmp_ctx.measureText(settings.label).width; var sh = settings.mSize; var sw = w / size; var sl = (1 - sw) settings.mPosX; var st = (1 - sh) * settings.mPosY; var sr = sl + sw; var sb = st + sh; var pad = 0.01;
if (settings.mode === 1) { // Strip qr.add_blank(0, st - pad, size, sb + pad); } else { // Box qr.add_blank(sl - pad, st - pad, sr + pad, sb + pad); }
ctx.fillStyle = settings.fontcolor; ctx.font = font; ctx.fillText(settings.label, sl size, st size + 0.75 settings.mSize size); };
var draw_background_img = function draw_background_img(qr, ctx, settings) { var size = settings.size; var w = settings.image.naturalWidth || 1; var h = settings.image.naturalHeight || 1; var sh = settings.mSize; var sw = sh w / h; var sl = (1 - sw) settings.mPosX; var st = (1 - sh) * settings.mPosY; var sr = sl + sw; var sb = st + sh; var pad = 0.01;
if (settings.mode === 3) { // Strip qr.add_blank(0, st - pad, size, sb + pad); } else { // Box qr.add_blank(sl - pad, st - pad, sr + pad, sb + pad); }
ctx.drawImage(settings.image, sl size, st size, sw size, sh size); };
var draw_background = function draw_background(qr, ctx, settings) { if (is_img_el(settings.background)) { ctx.drawImage(settings.background, 0, 0, settings.size, settings.size); } else if (settings.background) { ctx.fillStyle = settings.background; ctx.fillRect(settings.left, settings.top, settings.size, settings.size); }
var mode = settings.mode;
if (mode === 1 || mode === 2) { draw_background_label(qr, ctx, settings); } else if (is_img_el(settings.image) && (mode === 3 || mode === 4)) { draw_background_img(qr, ctx, settings); } };
var draw_modules_default = function draw_modules_default(qr, ctx, settings, left, top, width, row, col) { if (qr.is_dark(row, col)) { ctx.r(left, top, width, width); } };
var draw_modules_rounded_dark = function draw_modules_rounded_dark(ctx, l, t, r, b, rad, nw, ne, se, sw) { if (nw) { ctx.m(l + rad, t); } else { ctx.m(l, t); }
if (ne) { ctx.l(r - rad, t).a(r, t, r, b, rad); } else { ctx.l(r, t); }
if (se) { ctx.l(r, b - rad).a(r, b, l, b, rad); } else { ctx.l(r, b); }
if (sw) { ctx.l(l + rad, b).a(l, b, l, t, rad); } else { ctx.l(l, b); }
if (nw) { ctx.l(l, t + rad).a(l, t, r, t, rad); } else { ctx.l(l, t); } };
var draw_modules_rounded_light = function draw_modules_rounded_light(ctx, l, t, r, b, rad, nw, ne, se, sw) { if (nw) { ctx.m(l + rad, t).l(l, t).l(l, t + rad).a(l, t, l + rad, t, rad); }
if (ne) { ctx.m(r - rad, t).l(r, t).l(r, t + rad).a(r, t, r - rad, t, rad); }
if (se) { ctx.m(r - rad, b).l(r, b).l(r, b - rad).a(r, b, r - rad, b, rad); }
if (sw) { ctx.m(l + rad, b).l(l, b).l(l, b - rad).a(l, b, l + rad, b, rad); } };
var draw_modules_rounded = function draw_modules_rounded(qr, ctx, settings, left, top, width, row, col) { var right = left + width; var bottom = top + width; var rad = settings.radius * width; var row_n = row - 1; var row_s = row + 1; var col_w = col - 1; var col_e = col + 1; var is_dark = qr.is_dark; var d_center = is_dark(row, col); var d_nw = is_dark(row_n, col_w); var d_n = is_dark(row_n, col); var d_ne = is_dark(row_n, col_e); var d_e = is_dark(row, col_e); var d_se = is_dark(row_s, col_e); var d_s = is_dark(row_s, col); var d_sw = is_dark(row_s, col_w); var d_w = is_dark(row, col_w);
if (d_center) { draw_modules_rounded_dark(ctx, left, top, right, bottom, rad, !d_n && !d_w, !d_n && !d_e, !d_s && !d_e, !d_s && !d_w); } else { draw_modules_rounded_light(ctx, left, top, right, bottom, rad, d_n && d_w && d_nw, d_n && d_e && d_ne, d_s && d_e && d_se, d_s && d_w && d_sw); } };
var draw_modules = function draw_modules(qr, ctx, settings) { var module_count = qr.module_count; var module_size = settings.size / module_count; var fn = draw_modules_default;
if (settings.radius > 0 && settings.radius <= 0.5) { fn = draw_modules_rounded; }
var draw_ctx = { m: function m(x, y) { ctx.moveTo(x, y); return draw_ctx; }, l: function l(x, y) { ctx.lineTo(x, y); return draw_ctx; }, a: function a() { ctx.arcTo.apply(ctx, arguments); return draw_ctx; }, r: function r() { ctx.rect.apply(ctx, arguments); return draw_ctx; } }; ctx.beginPath();
for (var row = 0; row < module_count; row += 1) { for (var col = 0; col < module_count; col += 1) { var l = settings.left + col module_size; var t = settings.top + row module_size; var w = module_size; fn(qr, draw_ctx, settings, l, t, w, row, col); } }
if (is_img_el(settings.fill)) { ctx.strokeStyle = 'rgba(0,0,0,0.5)'; ctx.lineWidth = 2; ctx.stroke(); var prev = ctx.globalCompositeOperation; ctx.globalCompositeOperation = 'destination-out'; ctx.fill(); ctx.globalCompositeOperation = prev; ctx.clip(); ctx.drawImage(settings.fill, 0, 0, settings.size, settings.size); ctx.restore(); } else { ctx.fillStyle = settings.fill; ctx.fill(); } }; // Draws QR code to the given
canvas
and returns it.var draw_on_canvas = function draw_on_canvas(canvas, settings) { var qr = create_min_qrcode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet);
if (!qr) { return null; }
var $canvas = JQ(canvas).data('qrcode', qr); var ctx = $canvas[0].getContext('2d'); draw_background(qr, ctx, settings); draw_modules(qr, ctx, settings); return $canvas; }; // Returns a
canvas
element representing the QR code for the given settings.var create_canvas = function create_canvas(settings) { var $canvas = JQ('').attr('width', settings.size).attr('height', settings.size); return draw_on_canvas($canvas, settings); }; // Returns an
image
element representing the QR code for the given settings.var create_img = function create_img(settings) { return JQ('').attr('src', create_canvas(settings)[0].toDataURL('image/png')); }; // Returns a
div
element representing the QR code for the given settings.var create_div = function create_div(settings) { var qr = create_min_qrcode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet);
if (!qr) { return null; } // some shortcuts to improve compression
var settings_size = settings.size; var settings_bgColor = settings.background; var math_floor = Math.floor; var module_count = qr.module_count; var module_size = math_floor(settings_size / module_count); var offset = math_floor(0.5 (settings_size - module_size module_count)); var container_css = { position: 'relative', left: 0, top: 0, padding: 0, margin: 0, width: settings_size, height: settings_size }; var dark_css = { position: 'absolute', padding: 0, margin: 0, width: module_size, height: module_size, 'background-color': settings.fill }; var $div = JQ('
').data('qrcode', qr).css(container_css);if (settings_bgColor) { $div.css('background-color', settings_bgColor); }
for (var row = 0; row < module_count; row += 1) { for (var col = 0; col < module_count; col += 1) { if (qr.is_dark(row, col)) { JQ('
').css(dark_css).css({ left: offset + col module_size, top: offset + row module_size }).appendTo($div); } } }return $div; };
var create_html = function create_html(settings) { if (settings.render === 'canvas') { return create_canvas(settings); } else if (settings.render === 'image') { return create_img(settings); }
return create_div(settings); };
var DEFAULTS = { // render method:
'canvas'
,'image'
or'div'
render: 'canvas', // version range somewhere in 1 .. 40 minVersion: 1, maxVersion: 40, // error correction level:'L'
,'M'
,'Q'
or'H'
ecLevel: 'L', // offset in pixel if drawn onto existing canvas left: 0, top: 0, // size in pixel size: 200, // code color or image element fill: '#000', // background color or image element,null
for transparent background background: '#fff', // content text: 'no text', // corner radius relative to module width: 0.0 .. 0.5 radius: 0, // quiet zone in modules quiet: 0, // modes // 0: normal // 1: label strip // 2: label box // 3: image strip // 4: image box mode: 0, mSize: 0.1, mPosX: 0.5, mPosY: 0.5, label: 'no label', fontname: 'sans', fontcolor: '#000', image: null };JQ.fn.qrcode = module.exports = function main(options) { var settings = JQ.extend({}, DEFAULTS, options); return this.each(function (idx, el) { if (el.nodeName.toLowerCase() === 'canvas') { draw_on_canvas(el, settings); } else { JQ(el).append(create_html(settings)); } }); };
// }), / 1 / // (function(module, exports, __webpack_require__) {
var WEBPACK_AMD_DEFINE_FACTORY, WEBPACK_AMD_DEFINE_ARRAY, __WEBPACK_AMD_DEFINE_RESULT__;//--------------------------------------------------------------------- // // QR Code Generator for JavaScript // // Copyright (c) 2009 Kazuhiko Arase // // URL: http://www.d-project.com/ // // Licensed under the MIT license: // http://www.opensource.org/licenses/mit-license.php // // The word 'QR Code' is registered trademark of // DENSO WAVE INCORPORATED // http://www.denso-wave.com/qrcode/faqpatent-e.html // //---------------------------------------------------------------------
var qrcode = function() {
//--------------------------------------------------------------------- // qrcode //---------------------------------------------------------------------
/**
@param errorCorrectionLevel 'L','M','Q','H' */ var qrcode = function(typeNumber, errorCorrectionLevel) {
var PAD0 = 0xEC; var PAD1 = 0x11;
var _typeNumber = typeNumber; var _errorCorrectionLevel = QRErrorCorrectionLevel[errorCorrectionLevel]; var _modules = null; var _moduleCount = 0; var _dataCache = null; var _dataList = [];
var _this = {};
var makeImpl = function(test, maskPattern) {
_moduleCount = _typeNumber * 4 + 17; _modules = function(moduleCount) { var modules = new Array(moduleCount); for (var row = 0; row < moduleCount; row += 1) { modules[row] = new Array(moduleCount); for (var col = 0; col < moduleCount; col += 1) { modules[row][col] = null; } } return modules; }(_moduleCount);
setupPositionProbePattern(0, 0); setupPositionProbePattern(_moduleCount - 7, 0); setupPositionProbePattern(0, _moduleCount - 7); setupPositionAdjustPattern(); setupTimingPattern(); setupTypeInfo(test, maskPattern);
if (_typeNumber >= 7) { setupTypeNumber(test); }
if (_dataCache == null) { _dataCache = createData(_typeNumber, _errorCorrectionLevel, _dataList); }
mapData(_dataCache, maskPattern); };
var setupPositionProbePattern = function(row, col) {
for (var r = -1; r <= 7; r += 1) {
} };
var getBestMaskPattern = function() {
var minLostPoint = 0; var pattern = 0;
for (var i = 0; i < 8; i += 1) {
}
return pattern; };
var setupTimingPattern = function() {
for (var r = 8; r < _moduleCount - 8; r += 1) { if (_modules[r][6] != null) { continue; } _modules[r][6] = (r % 2 == 0); }
for (var c = 8; c < _moduleCount - 8; c += 1) { if (_modules[6][c] != null) { continue; } _modules[6][c] = (c % 2 == 0); } };
var setupPositionAdjustPattern = function() {
var pos = QRUtil.getPatternPosition(_typeNumber);
for (var i = 0; i < pos.length; i += 1) {
} };
var setupTypeNumber = function(test) {
var bits = QRUtil.getBCHTypeNumber(_typeNumber);
for (var i = 0; i < 18; i += 1) { var mod = (!test && ( (bits >> i) & 1) == 1); _modules[Math.floor(i / 3)][i % 3 + _moduleCount - 8 - 3] = mod; }
for (var i = 0; i < 18; i += 1) { var mod = (!test && ( (bits >> i) & 1) == 1); _modules[i % 3 + _moduleCount - 8 - 3][Math.floor(i / 3)] = mod; } };
var setupTypeInfo = function(test, maskPattern) {
var data = (_errorCorrectionLevel << 3) | maskPattern; var bits = QRUtil.getBCHTypeInfo(data);
// vertical for (var i = 0; i < 15; i += 1) {
}
// horizontal for (var i = 0; i < 15; i += 1) {
}
// fixed module _modules[_moduleCount - 8][8] = (!test); };
var mapData = function(data, maskPattern) {
var inc = -1; var row = _moduleCount - 1; var bitIndex = 7; var byteIndex = 0; var maskFunc = QRUtil.getMaskFunction(maskPattern);
for (var col = _moduleCount - 1; col > 0; col -= 2) {
} };
var createBytes = function(buffer, rsBlocks) {
var offset = 0;
var maxDcCount = 0; var maxEcCount = 0;
var dcdata = new Array(rsBlocks.length); var ecdata = new Array(rsBlocks.length);
for (var r = 0; r < rsBlocks.length; r += 1) {
}
var totalCodeCount = 0; for (var i = 0; i < rsBlocks.length; i += 1) { totalCodeCount += rsBlocks[i].totalCount; }
var data = new Array(totalCodeCount); var index = 0;
for (var i = 0; i < maxDcCount; i += 1) { for (var r = 0; r < rsBlocks.length; r += 1) { if (i < dcdata[r].length) { data[index] = dcdata[r][i]; index += 1; } } }
for (var i = 0; i < maxEcCount; i += 1) { for (var r = 0; r < rsBlocks.length; r += 1) { if (i < ecdata[r].length) { data[index] = ecdata[r][i]; index += 1; } } }
return data; };
var createData = function(typeNumber, errorCorrectionLevel, dataList) {
var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectionLevel);
var buffer = qrBitBuffer();
for (var i = 0; i < dataList.length; i += 1) { var data = dataList[i]; buffer.put(data.getMode(), 4); buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber) ); data.write(buffer); }
// calc num max data. var totalDataCount = 0; for (var i = 0; i < rsBlocks.length; i += 1) { totalDataCount += rsBlocks[i].dataCount; }
if (buffer.getLengthInBits() > totalDataCount * 8) { throw 'code length overflow. ('
')'; }
// end code if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) { buffer.put(0, 4); }
// padding while (buffer.getLengthInBits() % 8 != 0) { buffer.putBit(false); }
// padding while (true) {
if (buffer.getLengthInBits() >= totalDataCount * 8) { break; } buffer.put(PAD0, 8);
if (buffer.getLengthInBits() >= totalDataCount * 8) { break; } buffer.put(PAD1, 8); }
return createBytes(buffer, rsBlocks); };
_this.addData = function(data, mode) {
mode = mode || 'Byte';
var newData = null;
switch(mode) { case 'Numeric' : newData = qrNumber(data); break; case 'Alphanumeric' : newData = qrAlphaNum(data); break; case 'Byte' : newData = qr8BitByte(data); break; case 'Kanji' : newData = qrKanji(data); break; default : throw 'mode:' + mode; }
_dataList.push(newData); _dataCache = null; };
_this.isDark = function(row, col) { if (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) { throw row + ',' + col; } return _modules[row][col]; };
_this.getModuleCount = function() { return _moduleCount; };
_this.make = function() { if (_typeNumber < 1) { var typeNumber = 1;
}
makeImpl(false, getBestMaskPattern() ); };
_this.createTableTag = function(cellSize, margin) {
cellSize = cellSize || 2; margin = (typeof margin == 'undefined')? cellSize * 4 : margin;
var qrHtml = '';
qrHtml += '
for (var r = 0; r < _this.getModuleCount(); r += 1) {
}
qrHtml += '
'; qrHtml += 'return qrHtml; };
_this.createSvgTag = function(cellSize, margin, alt, title) {
var opts = {}; if (typeof arguments[0] == 'object') { // Called by options. opts = arguments[0]; // overwrite cellSize and margin. cellSize = opts.cellSize; margin = opts.margin; alt = opts.alt; title = opts.title; }
cellSize = cellSize || 2; margin = (typeof margin == 'undefined')? cellSize * 4 : margin;
// Compose alt property surrogate alt = (typeof alt === 'string') ? {text: alt} : alt || {}; alt.text = alt.text || null; alt.id = (alt.text) ? alt.id || 'qrcode-description' : null;
// Compose title property surrogate title = (typeof title === 'string') ? {text: title} : title || {}; title.text = title.text || null; title.id = (title.text) ? title.id || 'qrcode-title' : null;
var size = _this.getModuleCount() cellSize + margin 2; var c, mc, r, mr, qrSvg='', rect;
rect = 'l' + cellSize + ',0 0,' + cellSize + ' -' + cellSize + ',0 0,-' + cellSize + 'z ';
qrSvg += '<svg version="1.1" xmlns="http://www.w3.org/2000/svg"'; qrSvg += !opts.scalable ? ' width="' + size + 'px" height="' + size + 'px"' : ''; qrSvg += ' viewBox="0 0 ' + size + ' ' + size + '" '; qrSvg += ' preserveAspectRatio="xMinYMin meet"'; qrSvg += (title.text || alt.text) ? ' role="img" aria-labelledby="' + escapeXml([title.id, alt.id].join(' ').trim() ) + '"' : ''; qrSvg += '>'; qrSvg += (title.text) ? '
for (r = 0; r < _this.getModuleCount(); r += 1) { mr = r cellSize + margin; for (c = 0; c < _this.getModuleCount(); c += 1) { if (_this.isDark(r, c) ) { mc = ccellSize+margin; qrSvg += 'M' + mc + ',' + mr + rect; } } }
qrSvg += '" stroke="transparent" fill="black"/>'; qrSvg += '';
return qrSvg; };
_this.createDataURL = function(cellSize, margin) {
cellSize = cellSize || 2; margin = (typeof margin == 'undefined')? cellSize * 4 : margin;
var size = _this.getModuleCount() cellSize + margin 2; var min = margin; var max = size - margin;
return createDataURL(size, size, function(x, y) { if (min <= x && x < max && min <= y && y < max) { var c = Math.floor( (x - min) / cellSize); var r = Math.floor( (y - min) / cellSize); return _this.isDark(r, c)? 0 : 1; } else { return 1; } } ); };
_this.createImgTag = function(cellSize, margin, alt) {
cellSize = cellSize || 2; margin = (typeof margin == 'undefined')? cellSize * 4 : margin;
var size = _this.getModuleCount() cellSize + margin 2;
var img = ''; img += '<img'; img += '\u0020src="'; img += _this.createDataURL(cellSize, margin); img += '"'; img += '\u0020width="'; img += size; img += '"'; img += '\u0020height="'; img += size; img += '"'; if (alt) { img += '\u0020alt="'; img += escapeXml(alt); img += '"'; } img += '/>';
return img; };
var escapeXml = function(s) { var escaped = ''; for (var i = 0; i < s.length; i += 1) { var c = s.charAt(i); switch(c) { case '<': escaped += '<'; break; case '>': escaped += '>'; break; case '&': escaped += '&'; break; case '"': escaped += '"'; break; default : escaped += c; break; } } return escaped; };
var _createHalfASCII = function(margin) { var cellSize = 1; margin = (typeof margin == 'undefined')? cellSize * 2 : margin;
var size = _this.getModuleCount() cellSize + margin 2; var min = margin; var max = size - margin;
var y, x, r1, r2, p;
var blocks = { '██': '█', '█ ': '▀', ' █': '▄', ' ': ' ' };
var blocksLastLineNoMargin = { '██': '▀', '█ ': '▀', ' █': ' ', ' ': ' ' };
var ascii = ''; for (y = 0; y < size; y += 2) { r1 = Math.floor((y - min) / cellSize); r2 = Math.floor((y + 1 - min) / cellSize); for (x = 0; x < size; x += 1) { p = '█';
}
if (size % 2 && margin > 0) { return ascii.substring(0, ascii.length - size - 1) + Array(size+1).join('▀'); }
return ascii.substring(0, ascii.length-1); };
_this.createASCII = function(cellSize, margin) { cellSize = cellSize || 1;
if (cellSize < 2) { return _createHalfASCII(margin); }
cellSize -= 1; margin = (typeof margin == 'undefined')? cellSize * 2 : margin;
var size = _this.getModuleCount() cellSize + margin 2; var min = margin; var max = size - margin;
var y, x, r, p;
var white = Array(cellSize+1).join('██'); var black = Array(cellSize+1).join(' ');
var ascii = ''; var line = ''; for (y = 0; y < size; y += 1) { r = Math.floor( (y - min) / cellSize); line = ''; for (x = 0; x < size; x += 1) { p = 1;
}
return ascii.substring(0, ascii.length-1); };
_this.renderTo2dContext = function(context, cellSize) { cellSize = cellSize || 2; var length = _this.getModuleCount(); for (var row = 0; row < length; row++) { for (var col = 0; col < length; col++) { context.fillStyle = _this.isDark(row, col) ? 'black' : 'white'; context.fillRect(row cellSize, col cellSize, cellSize, cellSize); } } }
return _this; };
//--------------------------------------------------------------------- // qrcode.stringToBytes //---------------------------------------------------------------------
qrcode.stringToBytesFuncs = { 'default' : function(s) { var bytes = []; for (var i = 0; i < s.length; i += 1) { var c = s.charCodeAt(i); bytes.push(c & 0xff); } return bytes; } };
qrcode.stringToBytes = qrcode.stringToBytesFuncs['default'];
//--------------------------------------------------------------------- // qrcode.createStringToBytes //---------------------------------------------------------------------
/**
@param numChars */ qrcode.createStringToBytes = function(unicodeData, numChars) {
// create conversion map.
var unicodeMap = function() {
var bin = base64DecodeInputStream(unicodeData); var read = function() { var b = bin.read(); if (b == -1) throw 'eof'; return b; };
var count = 0; var unicodeMap = {}; while (true) { var b0 = bin.read(); if (b0 == -1) break; var b1 = read(); var b2 = read(); var b3 = read(); var k = String.fromCharCode( (b0 << 8) | b1); var v = (b2 << 8) | b3; unicodeMap[k] = v; count += 1; } if (count != numChars) { throw count + ' != ' + numChars; }
return unicodeMap; }();
var unknownChar = '?'.charCodeAt(0);
return function(s) { var bytes = []; for (var i = 0; i < s.length; i += 1) { var c = s.charCodeAt(i); if (c < 128) { bytes.push(c); } else { var b = unicodeMap[s.charAt(i)]; if (typeof b == 'number') { if ( (b & 0xff) == b) { // 1byte bytes.push(b); } else { // 2bytes bytes.push(b >>> 8); bytes.push(b & 0xff); } } else { bytes.push(unknownChar); } } } return bytes; }; };
//--------------------------------------------------------------------- // QRMode //---------------------------------------------------------------------
var QRMode = { MODE_NUMBER : 1 << 0, MODE_ALPHA_NUM : 1 << 1, MODE_8BIT_BYTE : 1 << 2, MODE_KANJI : 1 << 3 };
//--------------------------------------------------------------------- // QRErrorCorrectionLevel //---------------------------------------------------------------------
var QRErrorCorrectionLevel = { L : 1, M : 0, Q : 3, H : 2 };
//--------------------------------------------------------------------- // QRMaskPattern //---------------------------------------------------------------------
var QRMaskPattern = { PATTERN000 : 0, PATTERN001 : 1, PATTERN010 : 2, PATTERN011 : 3, PATTERN100 : 4, PATTERN101 : 5, PATTERN110 : 6, PATTERN111 : 7 };
//--------------------------------------------------------------------- // QRUtil //---------------------------------------------------------------------
var QRUtil = function() {
var PATTERN_POSITION_TABLE = [ [], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170] ]; var G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0); var G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0); var G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);
var _this = {};
var getBCHDigit = function(data) { var digit = 0; while (data != 0) { digit += 1; data >>>= 1; } return digit; };
_this.getBCHTypeInfo = function(data) { var d = data << 10; while (getBCHDigit(d) - getBCHDigit(G15) >= 0) { d ^= (G15 << (getBCHDigit(d) - getBCHDigit(G15) ) ); } return ( (data << 10) | d) ^ G15_MASK; };
_this.getBCHTypeNumber = function(data) { var d = data << 12; while (getBCHDigit(d) - getBCHDigit(G18) >= 0) { d ^= (G18 << (getBCHDigit(d) - getBCHDigit(G18) ) ); } return (data << 12) | d; };
_this.getPatternPosition = function(typeNumber) { return PATTERN_POSITION_TABLE[typeNumber - 1]; };
_this.getMaskFunction = function(maskPattern) {
switch (maskPattern) {
case QRMaskPattern.PATTERN000 : return function(i, j) { return (i + j) % 2 == 0; }; case QRMaskPattern.PATTERN001 : return function(i, j) { return i % 2 == 0; }; case QRMaskPattern.PATTERN010 : return function(i, j) { return j % 3 == 0; }; case QRMaskPattern.PATTERN011 : return function(i, j) { return (i + j) % 3 == 0; }; case QRMaskPattern.PATTERN100 : return function(i, j) { return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0; }; case QRMaskPattern.PATTERN101 : return function(i, j) { return (i j) % 2 + (i j) % 3 == 0; }; case QRMaskPattern.PATTERN110 : return function(i, j) { return ( (i j) % 2 + (i j) % 3) % 2 == 0; }; case QRMaskPattern.PATTERN111 : return function(i, j) { return ( (i * j) % 3 + (i + j) % 2) % 2 == 0; };
default : throw 'bad maskPattern:' + maskPattern; } };
_this.getErrorCorrectPolynomial = function(errorCorrectLength) { var a = qrPolynomial([1], 0); for (var i = 0; i < errorCorrectLength; i += 1) { a = a.multiply(qrPolynomial([1, QRMath.gexp(i)], 0) ); } return a; };
_this.getLengthInBits = function(mode, type) {
if (1 <= type && type < 10) {
} else if (type < 27) {
} else if (type < 41) {
} else { throw 'type:' + type; } };
_this.getLostPoint = function(qrcode) {
var moduleCount = qrcode.getModuleCount();
var lostPoint = 0;
// LEVEL1
for (var row = 0; row < moduleCount; row += 1) { for (var col = 0; col < moduleCount; col += 1) {
};
// LEVEL2
for (var row = 0; row < moduleCount - 1; row += 1) { for (var col = 0; col < moduleCount - 1; col += 1) { var count = 0; if (qrcode.isDark(row, col) ) count += 1; if (qrcode.isDark(row + 1, col) ) count += 1; if (qrcode.isDark(row, col + 1) ) count += 1; if (qrcode.isDark(row + 1, col + 1) ) count += 1; if (count == 0 || count == 4) { lostPoint += 3; } } }
// LEVEL3
for (var row = 0; row < moduleCount; row += 1) { for (var col = 0; col < moduleCount - 6; col += 1) { if (qrcode.isDark(row, col) && !qrcode.isDark(row, col + 1) && qrcode.isDark(row, col + 2) && qrcode.isDark(row, col + 3) && qrcode.isDark(row, col + 4) && !qrcode.isDark(row, col + 5) && qrcode.isDark(row, col + 6) ) { lostPoint += 40; } } }
for (var col = 0; col < moduleCount; col += 1) { for (var row = 0; row < moduleCount - 6; row += 1) { if (qrcode.isDark(row, col) && !qrcode.isDark(row + 1, col) && qrcode.isDark(row + 2, col) && qrcode.isDark(row + 3, col) && qrcode.isDark(row + 4, col) && !qrcode.isDark(row + 5, col) && qrcode.isDark(row + 6, col) ) { lostPoint += 40; } } }
// LEVEL4
var darkCount = 0;
for (var col = 0; col < moduleCount; col += 1) { for (var row = 0; row < moduleCount; row += 1) { if (qrcode.isDark(row, col) ) { darkCount += 1; } } }
var ratio = Math.abs(100 darkCount / moduleCount / moduleCount - 50) / 5; lostPoint += ratio 10;
return lostPoint; };
return _this; }();
//--------------------------------------------------------------------- // QRMath //---------------------------------------------------------------------
var QRMath = function() {
var EXP_TABLE = new Array(256); var LOG_TABLE = new Array(256);
// initialize tables for (var i = 0; i < 8; i += 1) { EXP_TABLE[i] = 1 << i; } for (var i = 8; i < 256; i += 1) { EXP_TABLE[i] = EXP_TABLE[i - 4] ^ EXP_TABLE[i - 5] ^ EXP_TABLE[i - 6] ^ EXP_TABLE[i - 8]; } for (var i = 0; i < 255; i += 1) { LOG_TABLE[EXP_TABLE[i] ] = i; }
var _this = {};
_this.glog = function(n) {
if (n < 1) { throw 'glog(' + n + ')'; }
return LOG_TABLE[n]; };
_this.gexp = function(n) {
while (n < 0) { n += 255; }
while (n >= 256) { n -= 255; }
return EXP_TABLE[n]; };
return _this; }();
//--------------------------------------------------------------------- // qrPolynomial //---------------------------------------------------------------------
function qrPolynomial(num, shift) {
if (typeof num.length == 'undefined') { throw num.length + '/' + shift; }
var _num = function() { var offset = 0; while (offset < num.length && num[offset] == 0) { offset += 1; } var _num = new Array(num.length - offset + shift); for (var i = 0; i < num.length - offset; i += 1) { _num[i] = num[i + offset]; } return _num; }();
var _this = {};
_this.getAt = function(index) { return _num[index]; };
_this.getLength = function() { return _num.length; };
_this.multiply = function(e) {
var num = new Array(_this.getLength() + e.getLength() - 1);
for (var i = 0; i < _this.getLength(); i += 1) { for (var j = 0; j < e.getLength(); j += 1) { num[i + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i) ) + QRMath.glog(e.getAt(j) ) ); } }
return qrPolynomial(num, 0); };
_this.mod = function(e) {
if (_this.getLength() - e.getLength() < 0) { return _this; }
var ratio = QRMath.glog(_this.getAt(0) ) - QRMath.glog(e.getAt(0) );
var num = new Array(_this.getLength() ); for (var i = 0; i < _this.getLength(); i += 1) { num[i] = _this.getAt(i); }
for (var i = 0; i < e.getLength(); i += 1) { num[i] ^= QRMath.gexp(QRMath.glog(e.getAt(i) ) + ratio); }
// recursive call return qrPolynomial(num, 0).mod(e); };
return _this; };
//--------------------------------------------------------------------- // QRRSBlock //---------------------------------------------------------------------
var QRRSBlock = function() {
var RS_BLOCK_TABLE = [
// L // M // Q // H
// 1 [1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9],
// 2 [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16],
// 3 [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13],
// 4 [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9],
// 5 [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12],
// 6 [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15],
// 7 [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14],
// 8 [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15],
// 9 [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13],
// 10 [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16],
// 11 [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13],
// 12 [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15],
// 13 [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12],
// 14 [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13],
// 15 [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12, 7, 37, 13],
// 16 [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16],
// 17 [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15],
// 18 [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15],
// 19 [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14],
// 20 [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16],
// 21 [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17],
// 22 [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13],
// 23 [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16],
// 24 [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17],
// 25 [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16],
// 26 [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17],
// 27 [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16],
// 28 [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16],
// 29 [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16],
// 30 [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16],
// 31 [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16],
// 32 [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16],
// 33 [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16],
// 34 [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17],
// 35 [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16],
// 36 [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16],
// 37 [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16],
// 38 [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16],
// 39 [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16],
// 40 [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16] ];
var qrRSBlock = function(totalCount, dataCount) { var _this = {}; _this.totalCount = totalCount; _this.dataCount = dataCount; return _this; };
var _this = {};
var getRsBlockTable = function(typeNumber, errorCorrectionLevel) {
switch(errorCorrectionLevel) { case QRErrorCorrectionLevel.L : return RS_BLOCK_TABLE[(typeNumber - 1) 4 + 0]; case QRErrorCorrectionLevel.M : return RS_BLOCK_TABLE[(typeNumber - 1) 4 + 1]; case QRErrorCorrectionLevel.Q : return RS_BLOCK_TABLE[(typeNumber - 1) 4 + 2]; case QRErrorCorrectionLevel.H : return RS_BLOCK_TABLE[(typeNumber - 1) 4 + 3]; default : return undefined; } };
_this.getRSBlocks = function(typeNumber, errorCorrectionLevel) {
var rsBlock = getRsBlockTable(typeNumber, errorCorrectionLevel);
if (typeof rsBlock == 'undefined') { throw 'bad rs block @ typeNumber:' + typeNumber + '/errorCorrectionLevel:' + errorCorrectionLevel; }
var length = rsBlock.length / 3;
var list = [];
for (var i = 0; i < length; i += 1) {
}
return list; };
return _this; }();
//--------------------------------------------------------------------- // qrBitBuffer //---------------------------------------------------------------------
var qrBitBuffer = function() {
var _buffer = []; var _length = 0;
var _this = {};
_this.getBuffer = function() { return _buffer; };
_this.getAt = function(index) { var bufIndex = Math.floor(index / 8); return ( (_buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1; };
_this.put = function(num, length) { for (var i = 0; i < length; i += 1) { _this.putBit( ( (num >>> (length - i - 1) ) & 1) == 1); } };
_this.getLengthInBits = function() { return _length; };
_this.putBit = function(bit) {
var bufIndex = Math.floor(_length / 8); if (_buffer.length <= bufIndex) { _buffer.push(0); }
if (bit) { _buffer[bufIndex] |= (0x80 >>> (_length % 8) ); }
_length += 1; };
return _this; };
//--------------------------------------------------------------------- // qrNumber //---------------------------------------------------------------------
var qrNumber = function(data) {
var _mode = QRMode.MODE_NUMBER; var _data = data;
var _this = {};
_this.getMode = function() { return _mode; };
_this.getLength = function(buffer) { return _data.length; };
_this.write = function(buffer) {
var data = _data;
var i = 0;
while (i + 2 < data.length) { buffer.put(strToNum(data.substring(i, i + 3) ), 10); i += 3; }
if (i < data.length) { if (data.length - i == 1) { buffer.put(strToNum(data.substring(i, i + 1) ), 4); } else if (data.length - i == 2) { buffer.put(strToNum(data.substring(i, i + 2) ), 7); } } };
var strToNum = function(s) { var num = 0; for (var i = 0; i < s.length; i += 1) { num = num * 10 + chatToNum(s.charAt(i) ); } return num; };
var chatToNum = function(c) { if ('0' <= c && c <= '9') { return c.charCodeAt(0) - '0'.charCodeAt(0); } throw 'illegal char :' + c; };
return _this; };
//--------------------------------------------------------------------- // qrAlphaNum //---------------------------------------------------------------------
var qrAlphaNum = function(data) {
var _mode = QRMode.MODE_ALPHA_NUM; var _data = data;
var _this = {};
_this.getMode = function() { return _mode; };
_this.getLength = function(buffer) { return _data.length; };
_this.write = function(buffer) {
var s = _data;
var i = 0;
while (i + 1 < s.length) { buffer.put( getCode(s.charAt(i) ) * 45 + getCode(s.charAt(i + 1) ), 11); i += 2; }
if (i < s.length) { buffer.put(getCode(s.charAt(i) ), 6); } };
var getCode = function(c) {
if ('0' <= c && c <= '9') { return c.charCodeAt(0) - '0'.charCodeAt(0); } else if ('A' <= c && c <= 'Z') { return c.charCodeAt(0) - 'A'.charCodeAt(0) + 10; } else { switch (c) { case ' ' : return 36; case '$' : return 37; case '%' : return 38; case '*' : return 39; case '+' : return 40; case '-' : return 41; case '.' : return 42; case '/' : return 43; case ':' : return 44; default : throw 'illegal char :' + c; } } };
return _this; };
//--------------------------------------------------------------------- // qr8BitByte //---------------------------------------------------------------------
var qr8BitByte = function(data) {
var _mode = QRMode.MODE_8BIT_BYTE; var _data = data; var _bytes = qrcode.stringToBytes(data);
var _this = {};
_this.getMode = function() { return _mode; };
_this.getLength = function(buffer) { return _bytes.length; };
_this.write = function(buffer) { for (var i = 0; i < _bytes.length; i += 1) { buffer.put(_bytes[i], 8); } };
return _this; };
//--------------------------------------------------------------------- // qrKanji //---------------------------------------------------------------------
var qrKanji = function(data) {
var _mode = QRMode.MODE_KANJI; var _data = data;
var stringToBytes = qrcode.stringToBytesFuncs['SJIS']; if (!stringToBytes) { throw 'sjis not supported.'; } !function(c, code) { // self test for sjis support. var test = stringToBytes(c); if (test.length != 2 || ( (test[0] << 8) | test[1]) != code) { throw 'sjis not supported.'; } }('\u53cb', 0x9746);
var _bytes = stringToBytes(data);
var _this = {};
_this.getMode = function() { return _mode; };
_this.getLength = function(buffer) { return ~~(_bytes.length / 2); };
_this.write = function(buffer) {
var data = _bytes;
var i = 0;
while (i + 1 < data.length) {
}
if (i < data.length) { throw 'illegal char at ' + (i + 1); } };
return _this; };
//===================================================================== // GIF Support etc. //
//--------------------------------------------------------------------- // byteArrayOutputStream //---------------------------------------------------------------------
var byteArrayOutputStream = function() {
var _bytes = [];
var _this = {};
_this.writeByte = function(b) { _bytes.push(b & 0xff); };
_this.writeShort = function(i) { _this.writeByte(i); _this.writeByte(i >>> 8); };
_this.writeBytes = function(b, off, len) { off = off || 0; len = len || b.length; for (var i = 0; i < len; i += 1) { _this.writeByte(b[i + off]); } };
_this.writeString = function(s) { for (var i = 0; i < s.length; i += 1) { _this.writeByte(s.charCodeAt(i) ); } };
_this.toByteArray = function() { return _bytes; };
_this.toString = function() { var s = ''; s += '['; for (var i = 0; i < _bytes.length; i += 1) { if (i > 0) { s += ','; } s += _bytes[i]; } s += ']'; return s; };
return _this; };
//--------------------------------------------------------------------- // base64EncodeOutputStream //---------------------------------------------------------------------
var base64EncodeOutputStream = function() {
var _buffer = 0; var _buflen = 0; var _length = 0; var _base64 = '';
var _this = {};
var writeEncoded = function(b) { _base64 += String.fromCharCode(encode(b & 0x3f) ); };
var encode = function(n) { if (n < 0) { // error. } else if (n < 26) { return 0x41 + n; } else if (n < 52) { return 0x61 + (n - 26); } else if (n < 62) { return 0x30 + (n - 52); } else if (n == 62) { return 0x2b; } else if (n == 63) { return 0x2f; } throw 'n:' + n; };
_this.writeByte = function(n) {
_buffer = (_buffer << 8) | (n & 0xff); _buflen += 8; _length += 1;
while (_buflen >= 6) { writeEncoded(_buffer >>> (_buflen - 6) ); _buflen -= 6; } };
_this.flush = function() {
if (_buflen > 0) { writeEncoded(_buffer << (6 - _buflen) ); _buffer = 0; _buflen = 0; }
if (_length % 3 != 0) { // padding var padlen = 3 - _length % 3; for (var i = 0; i < padlen; i += 1) { _base64 += '='; } } };
_this.toString = function() { return _base64; };
return _this; };
//--------------------------------------------------------------------- // base64DecodeInputStream //---------------------------------------------------------------------
var base64DecodeInputStream = function(str) {
var _str = str; var _pos = 0; var _buffer = 0; var _buflen = 0;
var _this = {};
_this.read = function() {
while (_buflen < 8) {
}
var n = (_buffer >>> (_buflen - 8) ) & 0xff; _buflen -= 8; return n; };
var decode = function(c) { if (0x41 <= c && c <= 0x5a) { return c - 0x41; } else if (0x61 <= c && c <= 0x7a) { return c - 0x61 + 26; } else if (0x30 <= c && c <= 0x39) { return c - 0x30 + 52; } else if (c == 0x2b) { return 62; } else if (c == 0x2f) { return 63; } else { throw 'c:' + c; } };
return _this; };
//--------------------------------------------------------------------- // gifImage (B/W) //---------------------------------------------------------------------
var gifImage = function(width, height) {
var _width = width; var _height = height; var _data = new Array(width * height);
var _this = {};
_this.setPixel = function(x, y, pixel) { _data[y * _width + x] = pixel; };
_this.write = function(out) {
//--------------------------------- // GIF Signature
out.writeString('GIF87a');
//--------------------------------- // Screen Descriptor
out.writeShort(_width); out.writeShort(_height);
out.writeByte(0x80); // 2bit out.writeByte(0); out.writeByte(0);
//--------------------------------- // Global Color Map
// black out.writeByte(0x00); out.writeByte(0x00); out.writeByte(0x00);
// white out.writeByte(0xff); out.writeByte(0xff); out.writeByte(0xff);
//--------------------------------- // Image Descriptor
out.writeString(','); out.writeShort(0); out.writeShort(0); out.writeShort(_width); out.writeShort(_height); out.writeByte(0);
//--------------------------------- // Local Color Map
//--------------------------------- // Raster Data
var lzwMinCodeSize = 2; var raster = getLZWRaster(lzwMinCodeSize);
out.writeByte(lzwMinCodeSize);
var offset = 0;
while (raster.length - offset > 255) { out.writeByte(255); out.writeBytes(raster, offset, 255); offset += 255; }
out.writeByte(raster.length - offset); out.writeBytes(raster, offset, raster.length - offset); out.writeByte(0x00);
//--------------------------------- // GIF Terminator out.writeString(';'); };
var bitOutputStream = function(out) {
var _out = out; var _bitLength = 0; var _bitBuffer = 0;
var _this = {};
_this.write = function(data, length) {
};
_this.flush = function() { if (_bitLength > 0) { _out.writeByte(_bitBuffer); } };
return _this; };
var getLZWRaster = function(lzwMinCodeSize) {
var clearCode = 1 << lzwMinCodeSize; var endCode = (1 << lzwMinCodeSize) + 1; var bitLength = lzwMinCodeSize + 1;
// Setup LZWTable var table = lzwTable();
for (var i = 0; i < clearCode; i += 1) { table.add(String.fromCharCode(i) ); } table.add(String.fromCharCode(clearCode) ); table.add(String.fromCharCode(endCode) );
var byteOut = byteArrayOutputStream(); var bitOut = bitOutputStream(byteOut);
// clear code bitOut.write(clearCode, bitLength);
var dataIndex = 0;
var s = String.fromCharCode(_data[dataIndex]); dataIndex += 1;
while (dataIndex < _data.length) {
}
bitOut.write(table.indexOf(s), bitLength);
// end code bitOut.write(endCode, bitLength);
bitOut.flush();
return byteOut.toByteArray(); };
var lzwTable = function() {
var _map = {}; var _size = 0;
var _this = {};
_this.add = function(key) { if (_this.contains(key) ) { throw 'dup key:' + key; } _map[key] = _size; _size += 1; };
_this.size = function() { return _size; };
_this.indexOf = function(key) { return _map[key]; };
_this.contains = function(key) { return typeof _map[key] != 'undefined'; };
return _this; };
return _this; };
var createDataURL = function(width, height, getPixel) { var gif = gifImage(width, height); for (var y = 0; y < height; y += 1) { for (var x = 0; x < width; x += 1) { gif.setPixel(x, y, getPixel(x, y) ); } }
var b = byteArrayOutputStream(); gif.write(b);
var base64 = base64EncodeOutputStream(); var bytes = b.toByteArray(); for (var i = 0; i < bytes.length; i += 1) { base64.writeByte(bytes[i]); } base64.flush();
return 'data:image/gif;base64,' + base64; };
//--------------------------------------------------------------------- // returns qrcode function.
return qrcode; }();
// multibyte support !function() {
qrcode.stringToBytesFuncs['UTF-8'] = function(s) { // http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array function toUTF8Array(str) { var utf8 = []; for (var i=0; i < str.length; i++) { var charcode = str.charCodeAt(i); if (charcode < 0x80) utf8.push(charcode); else if (charcode < 0x800) { utf8.push(0xc0 | (charcode >> 6), 0x80 | (charcode & 0x3f)); } else if (charcode < 0xd800 || charcode >= 0xe000) { utf8.push(0xe0 | (charcode >> 12), 0x80 | ((charcode>>6) & 0x3f), 0x80 | (charcode & 0x3f)); } // surrogate pair else { i++; // UTF-16 encodes 0x10000-0x10FFFF by // subtracting 0x10000 and splitting the // 20 bits of 0x0-0xFFFFF into two halves charcode = 0x10000 + (((charcode & 0x3ff)<<10) | (str.charCodeAt(i) & 0x3ff)); utf8.push(0xf0 | (charcode >>18), 0x80 | ((charcode>>12) & 0x3f), 0x80 | ((charcode>>6) & 0x3f), 0x80 | (charcode & 0x3f)); } } return utf8; } return toUTF8Array(s); };
}();
(function (factory) { if (true) { !(WEBPACK_AMD_DEFINE_ARRAY = [], WEBPACK_AMD_DEFINE_FACTORY = (factory), WEBPACK_AMD_DEFINE_RESULT = (typeof WEBPACK_AMD_DEFINE_FACTORY === 'function' ? (WEBPACK_AMD_DEFINE_FACTORY.apply(exports, WEBPACK_AMD_DEFINE_ARRAY)) : WEBPACK_AMD_DEFINE_FACTORY), WEBPACK_AMD_DEFINE_RESULT !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} }(function () { return qrcode; }));
/*/ }) /****/ ]); });