(function() { var KssStateGenerator; KssStateGenerator = (function() { var pseudo_selectors; pseudo_selectors = ['hover', 'enabled', 'disabled', 'active', 'visited', 'focus', 'target', 'checked', 'empty', 'first-of-type', 'last-of-type', 'first-child', 'last-child']; function KssStateGenerator() { var idx, idxs, pseudos, replaceRule, rule, stylesheet, _i, _len, _len2, _ref, _ref2; pseudos = new RegExp("(\\:" + (pseudo_selectors.join('|\\:')) + ")", "g"); try { _ref = document.styleSheets; for (_i = 0, _len = _ref.length; _i < _len; _i++) { stylesheet = _ref[_i]; if (stylesheet.href && stylesheet.href.indexOf(document.domain) >= 0) { idxs = []; _ref2 = stylesheet.cssRules; for (idx = 0, _len2 = _ref2.length; idx < _len2; idx++) { rule = _ref2[idx]; if ((rule.type === CSSRule.STYLE_RULE) && pseudos.test(rule.selectorText)) { replaceRule = function(matched, stuff) { return matched.replace(/\:/g, '.pseudo-class-'); }; this.insertRule(rule.cssText.replace(pseudos, replaceRule)); } pseudos.lastIndex = 0; } } } } catch (_error) {} } KssStateGenerator.prototype.insertRule = function(rule) { var headEl, styleEl; headEl = document.getElementsByTagName('head')[0]; styleEl = document.createElement('style'); styleEl.type = 'text/css'; if (styleEl.styleSheet) { styleEl.styleSheet.cssText = rule; } else { styleEl.appendChild(document.createTextNode(rule)); } return headEl.appendChild(styleEl); }; return KssStateGenerator; })(); new KssStateGenerator; }).call(this);