£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! "use strict" var BOMChar = "\uFEFF" exports.PrependBOM = PrependBOMWrapper function PrependBOMWrapper (encoder, options) { this.encoder = encoder this.addBOM = true } PrependBOMWrapper.prototype.write = function (str) { if (this.addBOM) { str = BOMChar + str this.addBOM = false } return this.encoder.write(str) } PrependBOMWrapper.prototype.end = function () { return this.encoder.end() } // ------------------------------------------------------------------------------ exports.StripBOM = StripBOMWrapper function StripBOMWrapper (decoder, options) { this.decoder = decoder this.pass = false this.options = options || {} } StripBOMWrapper.prototype.write = function (buf) { var res = this.decoder.write(buf) if (this.pass || !res) { return res } if (res[0] === BOMChar) { res = res.slice(1) if (typeof this.options.stripBOM === "function") { this.options.stripBOM() } } this.pass = true return res } StripBOMWrapper.prototype.end = function () { return this.decoder.end() }