£Á°è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ã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! var ensureTwoPower = function(n) { if (n && !(n & (n - 1))) return n; var p = 1; while (p < n) p <<= 1; return p; }; var Cyclist = function(size) { if (!(this instanceof Cyclist)) return new Cyclist(size); size = ensureTwoPower(size); this.mask = size-1; this.size = size; this.values = new Array(size); }; Cyclist.prototype.put = function(index, val) { var pos = index & this.mask; this.values[pos] = val; return pos; }; Cyclist.prototype.get = function(index) { return this.values[index & this.mask]; }; Cyclist.prototype.del = function(index) { var pos = index & this.mask; var val = this.values[pos]; this.values[pos] = undefined; return val; }; module.exports = Cyclist;