function FIFO(a){if(a==undefined)a=20;this.BufferSize=a;this.Buffer=new Array(a);this.BufferRead=0;this.BufferWrite=1;for(var b=this.length=0;b<a;b++)this.Buffer[b]=0}FIFO.prototype.Write=function FIFOwrite(b){if(this.BufferWrite==this.BufferRead)return 0;this.Buffer[this.BufferWrite]=b;this.BufferWrite=++this.BufferWrite%this.BufferSize;return++this.length};FIFO.prototype.Read=function FIFOread(){if(this.length){this.length--;return this.Buffer[this.BufferRead=(1+this.BufferRead)%this.BufferSize]}};
