text: /*
   * Copyright 2019 NEM
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  // automatically generated by the FlatBuffers compiler, do not modify
  
  /**
   * @const
   * @namespace
   */
  var Catapult = Catapult || {};
  
  /**
   * @const
   * @namespace
   */
  Catapult.Buffers = Catapult.Buffers || {};
  
  /**
   * @constructor
   */
  Catapult.Buffers.AccountLinkTransactionBuffer = function () {
  	/**
  	 * @type {flatbuffers.ByteBuffer}
  	 */
  	this.bb = null;
  
  	/**
  	 * @type {number}
  	 */
  	this.bb_pos = 0;
  };
  
  /**
   * @param {number} i
   * @param {flatbuffers.ByteBuffer} bb
   * @returns {Catapult.Buffers.AccountLinkTransactionBuffer}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.__init = function (i, bb) {
  	this.bb_pos = i;
  	this.bb = bb;
  	return this;
  };
  
  /**
   * @param {flatbuffers.ByteBuffer} bb
   * @param {Catapult.Buffers.AccountLinkTransactionBuffer=} obj
   * @returns {Catapult.Buffers.AccountLinkTransactionBuffer}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.getRootAsAccountLinkTransactionBuffer = function (bb, obj) {
  	return (obj || new Catapult.Buffers.AccountLinkTransactionBuffer).__init(bb.readInt32(bb.position()) + bb.position(), bb);
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.size = function () {
  	var offset = this.bb.__offset(this.bb_pos, 4);
  	return offset ? this.bb.readUint32(this.bb_pos + offset) : 0;
  };
  
  /**
   * @param {number} index
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.signature = function (index) {
  	var offset = this.bb.__offset(this.bb_pos, 6);
  	return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.signatureLength = function () {
  	var offset = this.bb.__offset(this.bb_pos, 6);
  	return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
  };
  
  /**
   * @returns {Uint8Array}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.signatureArray = function () {
  	var offset = this.bb.__offset(this.bb_pos, 6);
  	return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
  };
  
  /**
   * @param {number} index
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.signer = function (index) {
  	var offset = this.bb.__offset(this.bb_pos, 8);
  	return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.signerLength = function () {
  	var offset = this.bb.__offset(this.bb_pos, 8);
  	return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
  };
  
  /**
   * @returns {Uint8Array}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.signerArray = function () {
  	var offset = this.bb.__offset(this.bb_pos, 8);
  	return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.version = function () {
  	var offset = this.bb.__offset(this.bb_pos, 10);
  	return offset ? this.bb.readUint16(this.bb_pos + offset) : 0;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.type = function () {
  	var offset = this.bb.__offset(this.bb_pos, 12);
  	return offset ? this.bb.readUint16(this.bb_pos + offset) : 0;
  };
  
  /**
   * @param {number} index
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.fee = function (index) {
  	var offset = this.bb.__offset(this.bb_pos, 14);
  	return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.feeLength = function () {
  	var offset = this.bb.__offset(this.bb_pos, 14);
  	return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
  };
  
  /**
   * @returns {Uint32Array}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.feeArray = function () {
  	var offset = this.bb.__offset(this.bb_pos, 14);
  	return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
  };
  
  /**
   * @param {number} index
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.deadline = function (index) {
  	var offset = this.bb.__offset(this.bb_pos, 16);
  	return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.deadlineLength = function () {
  	var offset = this.bb.__offset(this.bb_pos, 16);
  	return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
  };
  
  /**
   * @returns {Uint32Array}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.deadlineArray = function () {
  	var offset = this.bb.__offset(this.bb_pos, 16);
  	return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
  };
  
  /**
   * @param {number} index
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.remoteAccountKey = function (index) {
  	var offset = this.bb.__offset(this.bb_pos, 18);
  	return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.remoteAccountKeyLength = function () {
  	var offset = this.bb.__offset(this.bb_pos, 18);
  	return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
  };
  
  /**
   * @returns {Uint8Array}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.remoteAccountKeyArray = function () {
  	var offset = this.bb.__offset(this.bb_pos, 18);
  	return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
  };
  
  /**
   * @returns {number}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.prototype.linkAction = function () {
  	var offset = this.bb.__offset(this.bb_pos, 20);
  	return offset ? this.bb.readUint8(this.bb_pos + offset) : 0;
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.startAccountLinkTransactionBuffer = function (builder) {
  	builder.startObject(12);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} size
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addSize = function (builder, size) {
  	builder.addFieldInt32(0, size, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {flatbuffers.Offset} signatureOffset
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addSignature = function (builder, signatureOffset) {
  	builder.addFieldOffset(1, signatureOffset, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {Array.<number>} data
   * @returns {flatbuffers.Offset}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.createSignatureVector = function (builder, data) {
  	builder.startVector(1, data.length, 1);
  	for (var i = data.length - 1; i >= 0; i--) {
  		builder.addInt8(data[i]);
  	}
  	return builder.endVector();
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} numElems
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.startSignatureVector = function (builder, numElems) {
  	builder.startVector(1, numElems, 1);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {flatbuffers.Offset} signerOffset
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addSigner = function (builder, signerOffset) {
  	builder.addFieldOffset(2, signerOffset, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {Array.<number>} data
   * @returns {flatbuffers.Offset}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.createSignerVector = function (builder, data) {
  	builder.startVector(1, data.length, 1);
  	for (var i = data.length - 1; i >= 0; i--) {
  		builder.addInt8(data[i]);
  	}
  	return builder.endVector();
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} numElems
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.startSignerVector = function (builder, numElems) {
  	builder.startVector(1, numElems, 1);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} version
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addVersion = function (builder, version) {
  	builder.addFieldInt16(3, version, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} type
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addType = function (builder, type) {
  	builder.addFieldInt16(4, type, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {flatbuffers.Offset} feeOffset
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addFee = function (builder, feeOffset) {
  	builder.addFieldOffset(5, feeOffset, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {Array.<number>} data
   * @returns {flatbuffers.Offset}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.createFeeVector = function (builder, data) {
  	builder.startVector(4, data.length, 4);
  	for (var i = data.length - 1; i >= 0; i--) {
  		builder.addInt32(data[i]);
  	}
  	return builder.endVector();
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} numElems
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.startFeeVector = function (builder, numElems) {
  	builder.startVector(4, numElems, 4);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {flatbuffers.Offset} deadlineOffset
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addDeadline = function (builder, deadlineOffset) {
  	builder.addFieldOffset(6, deadlineOffset, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {Array.<number>} data
   * @returns {flatbuffers.Offset}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.createDeadlineVector = function (builder, data) {
  	builder.startVector(4, data.length, 4);
  	for (var i = data.length - 1; i >= 0; i--) {
  		builder.addInt32(data[i]);
  	}
  	return builder.endVector();
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} numElems
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.startDeadlineVector = function (builder, numElems) {
  	builder.startVector(4, numElems, 4);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {flatbuffers.Offset} remoteAccountKey
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addRemoteAccountKey = function (builder, remoteAccountKeyOffset) {
  	builder.addFieldOffset(7, remoteAccountKeyOffset, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {Array.<number>} data
   * @returns {flatbuffers.Offset}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.createRemoteAccountKeyVector = function (builder, data) {
  	builder.startVector(1, data.length, 1);
  	for (var i = data.length - 1; i >= 0; i--) {
  		builder.addInt8(data[i]);
  	}
  	return builder.endVector();
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} numElems
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.startRemoteAccountKeyVector = function (builder, numElems) {
  	builder.startVector(1, numElems, 1);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {number} linkAction
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.addLinkAction = function (builder, linkAction) {
  	builder.addFieldInt8(8, linkAction, 0);
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @returns {flatbuffers.Offset}
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.endAccountLinkTransactionBuffer = function (builder) {
  	var offset = builder.endObject();
  	return offset;
  };
  
  /**
   * @param {flatbuffers.Builder} builder
   * @param {flatbuffers.Offset} offset
   */
  Catapult.Buffers.AccountLinkTransactionBuffer.finishAccountLinkTransactionBufferBuffer = function (builder, offset) {
  	builder.finish(offset);
  };
  
  // Exports for Node.js and RequireJS
  export default Catapult;
  
  