`this` is the squire object.
489290
function onMenu( item ) {
    var squire = this.squire;
    var id = item.id;

    switch ( id ) {
    case 'undo':
        squire.undo();
        break;
    case 'redo':
        squire.redo();
        break;
    case 'eraser':
        squire.removeAllFormatting();
        break;
    case 'link':
        makeLink.call( squire );
        break;
    case 'image':
        this.insertImage();
        break;
    case 'format-bold':
        if ( squire.hasFormat( 'b' ) ) {
            squire.removeBold();
        } else {
            squire.bold();
        }
        break;
    case 'format-italic':
        if ( squire.hasFormat( 'i' ) || squire.hasFormat( 'em' ) ) {
            squire.removeItalic();
        } else {
            squire.italic();
        }
        break;
    case 'format-underline':
        if ( squire.hasFormat( 'u' ) ) {
            squire.removeUnderline();
        } else {
            squire.underline();
        }
        break;
    case 'format-align-left':
        squire.setTextAlignment( 'left' );
        break;
    case 'format-align-center':
        squire.setTextAlignment( 'center' );
        break;
    case 'format-align-right':
        squire.setTextAlignment( 'right' );
        break;
    case 'format-align-justify':
        squire.setTextAlignment( 'justify' );
        break;
    case 'font':
        setFontFaceSizeColor.call( squire );
        break;
    case 'format-float-left':
        setFloat.call( squire, 'left' );
        break;
    case 'format-float-center':
        setFloat.call( squire, 'center' );
        break;
    case 'format-float-right':
        setFloat.call( squire, 'right' );
        break;
    case 'format-float-none':
        setFloat.call( squire, 'none' );
        break;
    case 'format-header':
        setHeader.call( squire );
        break;
    default:
        this.processButton( id );
    }
    this.focus = true;
}
307373
function(p){
        this.x = Math.pow(this.x, p);
        this.y = Math.pow(this.y, p);
        return this;
    }
202631
function(callback, context) {
      var objects = this.getObjects(),
          i = objects.length;
      while (i--) {
        callback.call(context, objects[i], i, objects);
      }
      return this;
    }
1293866
function(thing) {
			var elm = this.spirit.element;
			if (gui.Type.isSpirit(thing)) {
				thing.dom.append(elm);
			} else if (gui.Type.isElement(thing)) {
				thing.appendChild(elm);
				maybespiritualize(thing);
			}
			return this; // or what?
		}
849680
function() {
      var i, il, elements = [].slice.call(arguments)

      for (i = 0, il = elements.length; i < il; i++)
        this.members.push(elements[i])

      return this
    }
597878
function (callback) {
            for (var i = 0, l = this.items.length; i < l; i++) {
                callback(this.items[i], i, this.items);
            }
            return this;
        }
830351
function (item) {
        return this.members.indexOf(_.isString(item) ? (item = this.one(item)) : item);
    }
581736
function (index) {
		if (arguments.length < 1) {
			return this;
		}
		if (index < 0) {
			index = this.length + index;
		}
		if (hasProperty(this, index)) {
			return this[index];
		}
		return null;
	}
1212490
function at(index) {

    if (!this) {
        throw TypeError();
    }

    const str = '' + this,
        len = str.length;

    if (index >= len) {
        return;
    }
    if (index < 0) {
        index = len - index;
    }

    let i = 0;
    for (let item of str) {
        if (i === index) {
            return item;
        }
    }

    return;

}
747418
function has(val) {
      last.call(this).value = val;
      this.replace(val);
      return last.call(this) && this;
    }
30782
function Item(item, options) {
  Base.call(this, options);
  this.define('collection', this.options.collection);

  if (typeof item === 'object') {
    this.visit('set', item);
  }
}
1338517
function (other) {
        assertNotNull(other);

        var table = this.table;

        forOf(other, function (element) {
            table.add(element);
        });
    }
1160660
function ( fn )
		{
			if ( __arrayProto.forEach ) {
				// Where possible, use the built-in forEach
				__arrayProto.forEach.call( this, fn, this );
			}
			else {
				// Compatibility for browsers without EMCA-252-5 (JS 1.6)
				for ( var i=0, ien=this.length ; i<ien; i++ ) {
					// In strict mode the execution scope is the passed value
					fn.call( this, this[i], i, this );
				}
			}
	
			return this;
		}
381473
function (thisArg) {
                var me = this, prependArgs = _gpfArrayTail(arguments), length = Math.max(this.length - prependArgs.length, _GPF_COMPATIBILITY_FUNCTION_MIN_LENGTH), builderSource = _generateBindBuilderSource(length);
                return _gpfFunc([
                    "thisArg",
                    "prependArgs",
                    "_gpfArraySlice"
                ], builderSource).call(me, thisArg, prependArgs, _gpfArraySlice);
            }
261103
function(callback, thisArg) {
      this.values.forEach(function(v, i) {
        callback.call(thisArg, v, this.keys[i], this);
      }, this);
    }
636642
function (obj) {
				for (var p in obj) {
					if (hasOwn.call(obj, p)) {
						me[p] = obj[p];
					}
				}
				return me;
			}
901399
def in_scope(self, *args, **kw):
    
    new_self = self.copy()
    new_scopes = Object.translate_to_scopes(*args, **kw)
    new_self._scopes = new_self._scopes + new_scopes
    return new_self