Reader.addEventListener("load", function(evt) {
					callback(phileReader.result);
				});
				phileReader.readAsArrayBuffer(blobIn);
			})(new FileReader());
		}
	};
	var completeXHR = function(callback, arg) {
		if(!callback.comp) {
			callback.comp = true;
			callback.cb(arg);
		}
	};
	var doXHR = function(urlIn, callback) {
		(function(theXHRObj, callbackStruct){
			theXHRObj.responseType = "arraybuffer";
			theXHRObj.addEventListener("load", function(evt) { var stat = theXHRObj.status; if(stat === 0 ||