function d(a,b,e){b&&b.write(0);this.i2c=a;this.i2ca=void 0===e?32:32+e;b&&(this.rst=b,this.rst.write(1));this.n=65535;this.olat=this.pu=0;this.A0=new c(1,this);this.A1=new c(2,this);this.A2=new c(4,this);this.A3=new c(8,this);this.A4=new c(16,this);this.A5=new c(32,this);this.A6=new c(64,this);this.A7=new c(128,this);this.B0=new c(256,this);this.B1=new c(512,this);this.B2=new c(1024,this);this.B3=new c(2048,this);this.B4=new c(4096,this);this.B5=new c(8192,this);this.B6=
new c(16384,this);this.B7=new c(32768,this)}function c(a,b){this.b=a;this.p=b}exports.connect=function(a,b,e){return new d(a,b,e)};d.prototype.s=function(a,b){this.i2c.writeTo(this.i2ca,a,[b&255,b>>8])};d.prototype.r=function(a){this.i2c.writeTo(this.i2ca,a);return this.i2c.readFrom(this.i2ca,2)};d.prototype.m=function(a,b){if(0>["input","output","input_pullup"].indexOf(b))throw"Pin mode "+b+" not available";this.s(0,"output"==b?this.n&=~a:this.n|=a);this.s(12,"input_pullup"==b?this.pu|=a:this.pu&=
~a)};d.prototype.write=function(a,b){a=1<>a};d.prototype.readPort=function(){var a=this.r(18);return a[0]+(a[1]<<8)};d.prototype.mode=function(a,b){this.m(1<>8:this.b;return this.p.r(18)[255