tracer says to #ysitd
k.isString(c)&&1==c.length?a.lastIndexOf(c,d):-1;for(;0<=d;d--)if(d in a&&a[d]===c)return d;return-1};k.array.forEach=k.NATIVE_ARRAY_PROTOTYPES&&(k.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,c,d){k.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=k.isString(a)?a.split(""):a,g=0;g<e;g++)g in f&&c.call(d,f[g],g,a)};k.array.forEachRight=function(a,c,d){for(var