  var __bJmJGdWs_bEmpNBq534z7BQ = {Name:{Name:"ExposedFunctions",FullName:"ExposedFunctions, Version\x3d1.0.0.0, Culture\x3dneutral, PublicKeyToken\x3dnull"}};
  // ExposedFunctions.js.Extensions.ToLink
  function AQAABvvSsTKEcKViB30MVQ(b)
  {
    var c, d;

    d = [
      '<a href=\"',
      b,
      '\">',
      b,
      '<\u002fa>'
    ];
    c = exMABjDeCj_aRJzaBmU9SJg(d);
    return c;
  };

  // ExposedFunctions.js.Extensions.Random
  function AgAABvvSsTKEcKViB30MVQ(b)
  {
    var c;

    c = new ctor$__bwQABm4UGD6K4rxXW7dcsg().AQUABm4UGD6K4rxXW7dcsg(b);
    return c;
  };

  // ExposedFunctions.js.Data1
  function xgkWKz56_azeDPGxTxVuAnw(){};
  xgkWKz56_azeDPGxTxVuAnw.TypeName = "Data1";
  xgkWKz56_azeDPGxTxVuAnw.Assembly = __bJmJGdWs_bEmpNBq534z7BQ;
  var type$xgkWKz56_azeDPGxTxVuAnw = xgkWKz56_azeDPGxTxVuAnw.prototype;
  type$xgkWKz56_azeDPGxTxVuAnw.constructor = xgkWKz56_azeDPGxTxVuAnw;
  type$xgkWKz56_azeDPGxTxVuAnw.text = null;
  type$xgkWKz56_azeDPGxTxVuAnw.index = 0;
  type$xgkWKz56_azeDPGxTxVuAnw.onclick = null;
  type$xgkWKz56_azeDPGxTxVuAnw.onmouseover = null;
  type$xgkWKz56_azeDPGxTxVuAnw.onmouseout = null;
  type$xgkWKz56_azeDPGxTxVuAnw.GetString = null;
  type$xgkWKz56_azeDPGxTxVuAnw.$0 = {};
  type$xgkWKz56_azeDPGxTxVuAnw.$0.$0 = 'Data1';
  type$xgkWKz56_azeDPGxTxVuAnw.$0.$1 = 'AwAABj56_azeDPGxTxVuAnw';
  xgkWKz56_azeDPGxTxVuAnw.prototype.$0.onclick = 'IFunction';
  xgkWKz56_azeDPGxTxVuAnw.prototype.$0.onmouseover = 'IFunction';
  xgkWKz56_azeDPGxTxVuAnw.prototype.$0.onmouseout = 'IFunction';
  xgkWKz56_azeDPGxTxVuAnw.prototype.$0.GetString = 'IFunction';

  var basector$xgkWKz56_azeDPGxTxVuAnw = $ctor$(null, null, type$xgkWKz56_azeDPGxTxVuAnw);
  // ExposedFunctions.js.Data1..ctor
  type$xgkWKz56_azeDPGxTxVuAnw.AwAABj56_azeDPGxTxVuAnw = function ()
  {
    var a = this;

  };
  var ctor$AwAABj56_azeDPGxTxVuAnw = xgkWKz56_azeDPGxTxVuAnw.ctor = $ctor$(null, 'AwAABj56_azeDPGxTxVuAnw', type$xgkWKz56_azeDPGxTxVuAnw);

  // ExposedFunctions.js.ExposedFunctions
  function gL_aMuq6DSjauM40vzqabqQ(){};
  gL_aMuq6DSjauM40vzqabqQ.TypeName = "ExposedFunctions";
  gL_aMuq6DSjauM40vzqabqQ.Assembly = __bJmJGdWs_bEmpNBq534z7BQ;
  var type$gL_aMuq6DSjauM40vzqabqQ = gL_aMuq6DSjauM40vzqabqQ.prototype;
  type$gL_aMuq6DSjauM40vzqabqQ.constructor = gL_aMuq6DSjauM40vzqabqQ;
  var CwAABK6DSjauM40vzqabqQ = null;
  var DAAABK6DSjauM40vzqabqQ = null;
  var DQAABK6DSjauM40vzqabqQ = null;
  var basector$gL_aMuq6DSjauM40vzqabqQ = $ctor$(null, null, type$gL_aMuq6DSjauM40vzqabqQ);
  // ExposedFunctions.js.ExposedFunctions..ctor
  type$gL_aMuq6DSjauM40vzqabqQ.BQAABq6DSjauM40vzqabqQ = function ()
  {
    var a = this, b, c, d, e, f, g;

    f = [
      '\u000d\u000a<p>\u000d\u000a\u0009This C# to JavaScript project has exposed a method for scripting. \u000d\u000a\u0009You can either click on the link or copy it\'s href to the adressbar.\u000d\u000a<\u002fp>\u000d\u000a<h3>Method exposed statically<\u002fh3>\u000d\u000a<ul>\u000d\u000a<li>',
      AQAABvvSsTKEcKViB30MVQ('javascript:ExposedFunctions_AddData1({text: \'hello world\', index: 100});'),
      '<\u002fli><li>',
      AQAABvvSsTKEcKViB30MVQ('javascript:ExposedFunctions_AddData1({text: \'the text\', index: 42});'),
      '<\u002fli><li>',
      AQAABvvSsTKEcKViB30MVQ('javascript:ExposedFunctions_AddData1(null);'),
      '<\u002fli>\u000d\u000a<\u002ful>\u000d\u000a\u0009\u0009\u0009'
    ];
    CwAABK6DSjauM40vzqabqQ = hhIABrDe5zCamPUDNGeRBw(exMABjDeCj_aRJzaBmU9SJg(f));
    CwAABK6DSjauM40vzqabqQ.style.padding = '2em';
    b = 'ExposedFunctions_Dynamic1';
    c = gRMABjDeCj_aRJzaBmU9SJg('javascript:', b, '({text: \'hello\', index: 1});');
    d = gRMABjDeCj_aRJzaBmU9SJg('javascript:', b, '({text: \'world\', index: 2});');

    if (!(DAAABK6DSjauM40vzqabqQ))
    {
      DAAABK6DSjauM40vzqabqQ = new ctor$CwYABrHL2Te9uAFMbXAqvw(null, 'BwAABq6DSjauM40vzqabqQ');
    }

    e = DAAABK6DSjauM40vzqabqQ;
    CRMABr5xMzijfM5xNYhyrw(BBMABr5xMzijfM5xNYhyrw(window), b, RA4ABlsV3T_aPxZ1ZRmsarQ(e));
    g = CwAABK6DSjauM40vzqabqQ.innerHTML;
    f = [
      g,
      '\u000d\u000a<h3>Method exposed dynamically<\u002fh3>\u000d\u000a<ul>\u000d\u000a<li>',
      AQAABvvSsTKEcKViB30MVQ(c),
      '<\u002fli><li>',
      AQAABvvSsTKEcKViB30MVQ(d),
      '<\u002fli>\u000d\u000a<\u002ful>'
    ];
    CwAABK6DSjauM40vzqabqQ.innerHTML = exMABjDeCj_aRJzaBmU9SJg(f);
    dAsABt0jLD6yDQ0X6wt5_aw(hgMABh2AFT20Op_b6nriULA('assets\u002fExposedFunctions\u002fPreview.png'), CwAABK6DSjauM40vzqabqQ);
    cwsABt0jLD6yDQ0X6wt5_aw(CwAABK6DSjauM40vzqabqQ);
  };
  var ctor$BQAABq6DSjauM40vzqabqQ = gL_aMuq6DSjauM40vzqabqQ.ctor = $ctor$(null, 'BQAABq6DSjauM40vzqabqQ', type$gL_aMuq6DSjauM40vzqabqQ);

  // ExposedFunctions.js.ExposedFunctions.ExposedFunctions_AddData1
  function ExposedFunctions_AddData1(b)
  {
    var c, d, e, f, g, h, i, j;

    f = null;
    g = null;
    h = null;
    i = /* DOMCreateType */new D2Eu4H6UBje6aY_bKpUvokA();
    i.e = b;
    j = !(i.e == null);

    if (!j)
    {
      c = hRIABrDe5zCamPUDNGeRBw();
      VwAABtcctzqgvmwoTNwgqg(c, 'yay, no data...');
      dAsABt0jLD6yDQ0X6wt5_aw(c, CwAABK6DSjauM40vzqabqQ);
      return;
    }

    d = new ctor$tgAABmkRtjWl67S095gu_bQ(i, '_ExposedFunctions_AddData1_b__2');
    i.e.GetString = RA4ABlsV3T_aPxZ1ZRmsarQ(d);
    e = hRIABrDe5zCamPUDNGeRBw();
    VwAABtcctzqgvmwoTNwgqg(e, d.Invoke());
    i.div = e;
    j = (i.e.onclick == null);

    if (!j)
    {
      i.div.style.cursor = 'pointer';

      if (!f)
      {
        f = new ctor$KQsABoVjnjetV_aXG4GFkBQ(i, '_ExposedFunctions_AddData1_b__3');
      }

      XQAABtcctzqgvmwoTNwgqg(i.div, f);
    }

    j = (i.e.onmouseover == null);

    if (!j)
    {
      i.div.style.cursor = 'pointer';

      if (!g)
      {
        g = new ctor$KQsABoVjnjetV_aXG4GFkBQ(i, '_ExposedFunctions_AddData1_b__4');
      }

      YQAABtcctzqgvmwoTNwgqg(i.div, g);
    }

    j = (i.e.onmouseout == null);

    if (!j)
    {
      i.div.style.cursor = 'pointer';

      if (!h)
      {
        h = new ctor$KQsABoVjnjetV_aXG4GFkBQ(i, '_ExposedFunctions_AddData1_b__5');
      }

      YwAABtcctzqgvmwoTNwgqg(i.div, h);
    }

    dAsABt0jLD6yDQ0X6wt5_aw(i.div, CwAABK6DSjauM40vzqabqQ);
  };

  // ExposedFunctions.js.ExposedFunctions.<.ctor>b__c
  function BwAABq6DSjauM40vzqabqQ(b)
  {
    var c;

    c = new ctor$AwAABj56_azeDPGxTxVuAnw();
    c.index = (b.index + 1);
    c.text = gBMABjDeCj_aRJzaBmU9SJg('dynamic: ', b.text);
    ExposedFunctions_AddData1(c);
  };

  // ExposedFunctions.js.ExposedFunctions.<.cctor>b__e
  function CAAABq6DSjauM40vzqabqQ(b)
  {
    new ctor$BQAABq6DSjauM40vzqabqQ();
  };

  // Anonymous type
  function aQ1MaZeMuTaFQ2RRJa1m7g() {}  var type$aQ1MaZeMuTaFQ2RRJa1m7g = aQ1MaZeMuTaFQ2RRJa1m7g.prototype;
  type$aQ1MaZeMuTaFQ2RRJa1m7g.constructor = aQ1MaZeMuTaFQ2RRJa1m7g;
  type$aQ1MaZeMuTaFQ2RRJa1m7g._text_i__Field = null;
  type$aQ1MaZeMuTaFQ2RRJa1m7g._index_i__Field = null;
  // <>f__AnonymousType0`2.get_text
  type$aQ1MaZeMuTaFQ2RRJa1m7g.get_text = function ()
  {
    return this._text_i__Field;
  };

  // <>f__AnonymousType0`2.get_index
  type$aQ1MaZeMuTaFQ2RRJa1m7g.get_index = function ()
  {
    return this._index_i__Field;
  };

  // <>f__AnonymousType0`2.ToString
  type$aQ1MaZeMuTaFQ2RRJa1m7g.toString /* <>f__AnonymousType0`2.ToString */ = function ()
  {
    var a = this, b, c;

    b = new ctor$_1REABhHFijqvYJf1nSns2Q();
    b._2hEABhHFijqvYJf1nSns2Q('{ text = ');
    b._2xEABhHFijqvYJf1nSns2Q(a._text_i__Field);
    b._2hEABhHFijqvYJf1nSns2Q(', index = ');
    b._2xEABhHFijqvYJf1nSns2Q(a._index_i__Field);
    b._2hEABhHFijqvYJf1nSns2Q(' }');
    c = (b+'');
    return c;
  };
    aQ1MaZeMuTaFQ2RRJa1m7g.prototype.toString /* System.Object.ToString */ = aQ1MaZeMuTaFQ2RRJa1m7g.prototype.toString /* <>f__AnonymousType0`2.ToString */;

  // <>f__AnonymousType0`2.Equals
  type$aQ1MaZeMuTaFQ2RRJa1m7g.Equals = function (b)
  {
    throw 'Not implemented, Equals';
  };
    aQ1MaZeMuTaFQ2RRJa1m7g.prototype.AwAABnwCHD6Y1dqcmGKqIQ = aQ1MaZeMuTaFQ2RRJa1m7g.prototype.Equals;

  // <>f__AnonymousType0`2.GetHashCode
  type$aQ1MaZeMuTaFQ2RRJa1m7g.GetHashCode = function ()
  {
    throw 'Not implemented, GetHashCode';
  };
    aQ1MaZeMuTaFQ2RRJa1m7g.prototype.BwAABnwCHD6Y1dqcmGKqIQ = aQ1MaZeMuTaFQ2RRJa1m7g.prototype.GetHashCode;

  // <>f__AnonymousType0`2..ctor
  type$aQ1MaZeMuTaFQ2RRJa1m7g.CQAABpeMuTaFQ2RRJa1m7g = function (b, c)
  {
    var a = this;

    a._text_i__Field = b;
    a._index_i__Field = c;
  };
  var ctor$CQAABpeMuTaFQ2RRJa1m7g = $ctor$(null, 'CQAABpeMuTaFQ2RRJa1m7g', type$aQ1MaZeMuTaFQ2RRJa1m7g);
  // Closure type for ExposedFunctions.js.ExposedFunctions+<>c__DisplayClass9
  function D2Eu4H6UBje6aY_bKpUvokA() {}  var type$D2Eu4H6UBje6aY_bKpUvokA = D2Eu4H6UBje6aY_bKpUvokA.prototype;
  type$D2Eu4H6UBje6aY_bKpUvokA.constructor = D2Eu4H6UBje6aY_bKpUvokA;
  type$D2Eu4H6UBje6aY_bKpUvokA.div = null;
  type$D2Eu4H6UBje6aY_bKpUvokA.e = null;
  // ExposedFunctions.js.ExposedFunctions+<>c__DisplayClass9.<ExposedFunctions_AddData1>b__2
  type$D2Eu4H6UBje6aY_bKpUvokA._ExposedFunctions_AddData1_b__2 = function ()
  {
    return (new ctor$CQAABpeMuTaFQ2RRJa1m7g(this.e.text, this.e.index)+'');
  };

  // ExposedFunctions.js.ExposedFunctions+<>c__DisplayClass9.<ExposedFunctions_AddData1>b__3
  type$D2Eu4H6UBje6aY_bKpUvokA._ExposedFunctions_AddData1_b__3 = function (b)
  {
    var a = this, c;

    c = [
      a.div
    ];
    a.e.onclick.apply(a.e, c);
  };

  // ExposedFunctions.js.ExposedFunctions+<>c__DisplayClass9.<ExposedFunctions_AddData1>b__4
  type$D2Eu4H6UBje6aY_bKpUvokA._ExposedFunctions_AddData1_b__4 = function (b)
  {
    var a = this, c;

    c = [
      a.div
    ];
    a.e.onmouseover.apply(a.e, c);
  };

  // ExposedFunctions.js.ExposedFunctions+<>c__DisplayClass9.<ExposedFunctions_AddData1>b__5
  type$D2Eu4H6UBje6aY_bKpUvokA._ExposedFunctions_AddData1_b__5 = function (b)
  {
    var a = this, c;

    c = [
      a.div
    ];
    a.e.onmouseout.apply(a.e, c);
  };

  // Are the references up to date?
  // Are they imported in the dependency sort order?
  // reference ScriptCoreLib - W_bfCHB0Un0CgJ_aixUydYLg
  // reference ScriptCoreLib.Query - HdrPMtT3pUiw0yH9y2pnWQ
  __bJmJGdWs_bEmpNBq534z7BQ.Types = [xgkWKz56_azeDPGxTxVuAnw,gL_aMuq6DSjauM40vzqabqQ];
  __bJmJGdWs_bEmpNBq534z7BQ.References = [W_bfCHB0Un0CgJ_aixUydYLg,HdrPMtT3pUiw0yH9y2pnWQ];

  (function()
  {

    if (!(DQAABK6DSjauM40vzqabqQ))
    {
      DQAABK6DSjauM40vzqabqQ = new ctor$CwYABrHL2Te9uAFMbXAqvw(null, 'CAAABq6DSjauM40vzqabqQ');
    }

    dwsABt0jLD6yDQ0X6wt5_aw(jxIABvTjTTG_aL4_ahSLPtTA(new ctor$nQMABrh_afT6gMvrmjMrwWw(type$gL_aMuq6DSjauM40vzqabqQ)), DQAABK6DSjauM40vzqabqQ);
  }
  )();

