<commit_before>"use strict";
let Caf = require("caffeine-script-runtime");
Caf.defMod(module, () => {
  return Caf.importInvoke(
    ["Nodes", "isFunction", "RootStn"],
    [
      global,
      require("./StandardImport"),
      require("caffeine-eight"),
      require("./StnRegistry")
    ],
    (Nodes, isFunction, RootStn) => {
      let StnRegistry, CafParseNodeBaseClass;
      StnRegistry = require("./StnRegistry");
      return (CafParseNodeBaseClass = Caf.defClass(
        class CafParseNodeBaseClass extends Nodes.Node {},
        function(CafParseNodeBaseClass, classSuper, instanceSuper) {
          this._createSubclassBase = function() {
            let NodeSubclass;
            return (NodeSubclass = Caf.defClass(
              class NodeSubclass extends this {}
            ));
          };
          this.prototype.getMatchStns = function() {
            let stn;
            stn = null;
            return Caf.array(
              this.matches,
              m => stn,
              m => (stn = Caf.isF(m.getStn) && m.getStn())
            );
          };
          this.prototype.getStnFactory = function() {
            return StnRegistry.get(this.stnFactory);
          };
          this.prototype.getStnChildren = function(left) {
            let stn;
            return this.stnChildren
              ? isFunction(this.stnChildren)
                ? this.stnChildren()
                : this.stnChildren
              : ((stn = null),
                Caf.array(
                  this.nonStnExtensionMatches,
                  m => stn,
                  m => (stn = m.getStn(left))
                ));
          };
          this.getter({
            isStnExtension: function() {
              let cafBase;
              return (
                this.stnExtension ||
                (Caf.exists((cafBase = this.presentMatches[0])) &&
                  cafBase.isStnExtension)
              );
            },
            stnExtensionMatches: function() {
              return Caf.array(
                this.presentMatches,
                null,
                m => m.getStn && m.isStnExtension
              );
            },
            nonStnExtensionMatches: function() {
              return Caf.array(
                this.presentMatches,
                null,
                m => m.getStn && !m.isStnExtension
              );
            }
          });
          this.prototype.getStn = function(left) {
            let stn, factory, x, currentStnLabel;
            stn = (factory = this.getStnFactory())
              ? factory(
                  { parseTreeNode: this },
                  (Caf.isF(this.stnProps) && this.stnProps()) || this.stnProps,
                  left,
                  this.getStnChildren()
                )
              : ((x = this.getStnChildren(left)),
                x.length === 1 ? x[0] : x.length === 0 ? left : x);
            Caf.each2(
              this.stnExtensionMatches,
              extension => (stn = extension.getStn(stn))
            );
            if (Caf.exists(stn) && stn.props) {
              currentStnLabel = stn.props.label;
              if (!currentStnLabel || this.label) {
                stn.props.label = this.label || this.ruleName;
                stn.props.pluralLabel = this.pluralLabel || this.pluralRuleName;
              }
            }<commit_msg>include with last commit<commit_after>"use strict";
let Caf = require("caffeine-script-runtime");
Caf.defMod(module, () => {
  return Caf.importInvoke(
    ["Nodes", "isFunction", "RootStn"],
    [
      global,
      require("./StandardImport"),
      require("caffeine-eight"),
      require("./StnRegistry")
    ],
    (Nodes, isFunction, RootStn) => {
      let StnRegistry, CafParseNodeBaseClass;
      StnRegistry = require("./StnRegistry");
      return (CafParseNodeBaseClass = Caf.defClass(
        class CafParseNodeBaseClass extends Nodes.Node {},
        function(CafParseNodeBaseClass, classSuper, instanceSuper) {
          this._createSubclassBase = function() {
            let NodeSubclass;
            return (NodeSubclass = Caf.defClass(
              class NodeSubclass extends this {}
            ));
          };
          this.prototype.getMatchStns = function() {
            let stn;
            stn = null;
            return Caf.array(
              this.matches,
              m => stn,
              m => (stn = Caf.isF(m.getStn) && m.getStn())
            );
          };
          this.prototype.getStnFactory = function() {
            return StnRegistry.get(this.stnFactory);
          };
          this.prototype.getStnChildren = function(left) {
            let stn;
            return this.stnChildren
              ? isFunction(this.stnChildren)
                ? this.stnChildren()
                : this.stnChildren
              : ((stn = null),
                Caf.array(
                  this.nonStnExtensionMatches,
                  m => stn,
                  m => (stn = m.getStn(left))
                ));
          };
          this.getter({
            isStnExtension: function() {
              let cafBase;
              return (
                this.stnExtension ||
                (Caf.exists((cafBase = this.presentMatches[0])) &&
                  cafBase.isStnExtension)
              );
            },
            stnExtensionMatches: function() {
              return Caf.array(
                this.presentMatches,
                null,
                m => m.getStn && m.isStnExtension
              );
            },
            nonStnExtensionMatches: function() {
              return Caf.array(
                this.presentMatches,
                null,
                m => m.getStn && !m.isStnExtension
              );
            }
          });
          this.prototype.getStn = function(left) {
            let stn, factory, x, currentStnLabel;
            stn = (factory = this.getStnFactory())
              ? factory(
                  { parseTreeNode: this },
                  (Caf.isF(this.stnProps) && this.stnProps()) || this.stnProps,
                  left,
                  this.getStnChildren()
                )
              : ((x = this.getStnChildren(left)),
                x.length === 1 ? x[0] : x.length === 0 ? left : x);
            Caf.each2(this.stnExtensionMatches, extension => {
              let sourceIndex;
              ({ sourceIndex } = stn);
              stn = extension.getStn(stn);
              return (stn.sourceIndex = sourceIndex);
            });
            if (Caf.exists(stn) && stn.props) {
              currentStnLabel = stn.props.label;
              if (!currentStnLabel || this.label) {
                stn.props.label = this.label || this.ruleName;
                stn.props.pluralLabel = this.pluralLabel || this.pluralRuleName;
              }
            }
{'fraction_non_alphanumeric': 0.11499123319696083, 'fraction_numerical': 0.0014611338398597311, 'mean_word_length': 1.323489477257298, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2393816', 'n_tokens_mistral': 1927, 'n_tokens_neox': 1857, 'n_words': 319}