The following business terms are applicable to all the contracts, which you conclude with us as a supplier (Scavix Software Ltd. & Co. KG) via the www.phonemondo.com website. Unless otherwise agreed upon, the inclusion, if necessary, of your own conditions is ruled out.
A 'consumer' in the sense of the following regulations is every natural person who concludes a legal transaction which, to an overwhelming extent, cannot be attributed to either his commercial or independent professional activities. The term 'businessman' refers to every natural person, legal person or legally responsible partnership that concludes a legal transaction in pursuance of his/its independent professional or commercial activity.
The contract subject matter is the purchase of download products (digital content which is not supplied on a physical data carrier).
You are not bound by your enquiries regarding the creation of an offer. We supply you with a textual and binding offer (e.g. via e-mail), which you can accept within a period of 5 days.
The execution of the order and the sending of all the details necessitated by the conclusion of the contract take place via e-mail, in a partially-automated manner. Consequently, you have to ensure that the e-mail address that you have deposited with us is the correct one, and that the receipt of the respective e-mails is guaranteed. In particular, you have to ensure that the respective e-mails are not blocked by a SPAM filter.
The download products that are on offer are copyright-protected. You will receive a simple operating license for every download product purchased from us, unless otherwise specified in the respective quote.
The simple usage licence encompasses permission to save and/or record a copy of the download product on your computer or other electronic device for personal use.
You can only exercise a right of retention if the situation in question involves claims arising from the same contractual relationship.
If you are not a consumer, but a businessman, a legal entity under public law or an institutional fund governed by public law, our place of business is the place of jurisdiction as well as the place of fulfilment for all services that follow from the business relationships that exist with us. The same condition applies to situations in which you are not associated with a general place of jurisdiction in Germany or the EU, as well as situations in which the place of residence or the usual place of residence is not known at the time of commencement of proceedings. This has no bearing on the capacity to call upon the court associated with another place of jurisdiction.
the contract data can be printed out or electronically saved using the browser's print function. After the order is received by us, the order data, the legally-mandated details related to distance selling contracts and the standard business terms are re-sent to you via e-mail.
You will be sent all contractual information within the framework of a binding offer in written form, via E-mail for example, for quotation requests outside of the online shopping basket system, which can be printed out or saved electronically in a secure manner.
The prices mentioned in the respective offers represent total prices, as do the shipping costs. They include all the price components, including all the incidental taxes.
Since the product is downloaded, no shipping costs accrue.
You must also bear the costs arising from money transfers in cases in which the delivery is made to an EU Member State, but the payment is initiated outside of the European Union.
shown by clicking the appropriate button on our website or are disclosed in the respective quote.
Unless otherwise specified for the respective payment methods, the payment claims arising from the contract that has been concluded become payable immediately.
The delivery conditions, delivery date and existing supply restrictions, if applicable, can be found by clicking the appropriate button on our website or in the respective quote.


text:
WScript.LoadScriptFile("..\\UnitTestFramework\\UnitTestFramework.js");

var tests = [
  {
    name: "Rest parsing and errors",
    body: function () {
      assert.throws(function () { eval("function foo(...a, ...b) {}")},          SyntaxError,    "More than one rest parameter throws", "The rest parameter must be the last parameter in a formals list.");
      assert.throws(function () { eval("function foo(...[a], ...b) {}")},          SyntaxError,    "More than one rest parameter throws", "The rest parameter must be the last parameter in a formals list.");
      assert.throws(function () { eval("function foo(...a, ...[b]) {}")},          SyntaxError,    "More than one rest parameter throws", "The rest parameter must be the last parameter in a formals list.");
      assert.throws(function () { eval("function foo(a, ...b, c) => {}")},       SyntaxError,    "Rest parameter not in the last position throws", "The rest parameter must be the last parameter in a formals list.");
      assert.throws(function () { eval("function foo(a, ...[b], c) => {}")},       SyntaxError,    "Rest pattern parameter not in the last position throws", "The rest parameter must be the last parameter in a formals list.");
      assert.throws(function () { eval("var obj = class { method(a, b = 1, ...c = [2,3]) {} };")},         SyntaxError, "Rest parameter cannot have a default value");
      assert.throws(function () { eval("function f(c, a, ...a) { }")},           SyntaxError,    "Duplicate parameters are not allowed for non-simple parameter list with only rest", "Duplicate formal parameter names not allowed in this context");
      assert.throws(function () { eval("function f(c, a, ...[a]) { }")},           SyntaxError,    "Duplicate parameters are not allowed for non-simple parameter list with rest array pattern", "Let/Const redeclaration");
      assert.throws(function () { eval("function f(c, a, ...{b:a}) { }")},           SyntaxError,    "Duplicate parameters are not allowed for non-simple parameter list with rest object pattern", "Let/Const redeclaration");
      assert.throws(function () { eval("function f(c = 10, a, ...a) { }")},      SyntaxError,    "Duplicate parameters are not allowed for non-simple parameter list with both rest and default", "Duplicate formal parameter names not allowed in this context");
      assert.throws(function () { eval("function f(...a) { 'use strict'; }"); },          SyntaxError, "Strict mode cannot be applied to functions with rest parameter", "Illegal 'use strict' directive in function with non-simple parameter list");
      assert.throws(function () { eval("function f(a, ...b) { 'use strict'; }"); },       SyntaxError, "Strict mode cannot be applied to functions with rest parameter", "Illegal 'use strict' directive in function with non-simple parameter list");
      assert.throws(function () { eval("function f(a, ...[b]) { 'use strict'; }"); },       SyntaxError, "Strict mode cannot be applied to functions with rest parameter", "Illegal 'use strict' directive in function with non-simple parameter list");
      assert.throws(function () { eval("function f() { \"use strict\"; function g(a, b, c, ...a) { } }")}, SyntaxError, "Cannot have duplicate parameters for a function with non-simple parameter list, which is already in strict mode", "Duplicate formal parameter names not allowed in strict mode");
      assert.throws(function () { eval("function f() { \"use strict\"; function g(a, b, a, ...c) { } }")}, SyntaxError, "Cannot have duplicate parameters for a function with non-simple parameter list with rest, which is already in strict mode", "Duplicate formal parameter names not allowed in strict mode");

      assert.throws(function () { eval("function foo(a = b, ...b) {}; foo();")}, ReferenceError, "Rest parameters cannot be referenced in default expressions (use before declaration)", "Use before declaration");
      assert.throws(function () { eval("function foo(a = b, ...[b]) {}; foo();")}, ReferenceError, "Rest parameters cannot be referenced in default expressions (use before declaration)", "Use before declaration");
      assert.throws(function () { eval("function foo(a = b, ...{c:b}) {}; foo();")}, ReferenceError, "Rest parameters cannot be referenced in default expressions (use before declaration)", "Use before declaration");

      // Redeclaration errors - non-simple in this case means any parameter list with a rest parameter
      assert.doesNotThrow(function () { eval("function foo(...a) { var a; }"); },
                    "Var redeclaration does not throw with a non-simple parameter list");
      assert.doesNotThrow(function () { eval("function foo(...[a]) { var a; }"); },
                    "Var redeclaration does not throw with a non-simple parameter list");
      assert.doesNotThrow(function () { eval("function foo(a, ...b) { var a; }"); },
                    "Var redeclaration does not throw with a non-simple parameter list on a non-rest parameter");
      assert.throws(function () { function foo(...a) { eval('var a;'); }; foo(); },
          ReferenceError,
          "Var redeclaration throws with a non-simple parameter list inside an eval",
          "Let/Const redeclaration");
      assert.throws(function () { function foo(...[a]) { eval('var a;'); }; foo(); },
          ReferenceError,
          "Var redeclaration throws with a non-simple parameter list inside an eval",
          "Let/Const redeclaration");
      assert.throws(function () { function foo(a, ...b) { eval('var b;'); }; foo(); },
          ReferenceError,
          "Var redeclaration throws with a non-simple parameter list inside an eval",
          "Let/Const redeclaration");
      assert.throws(function () { function foo(a = 1, ...b) { eval('var b;'); }; foo(); },
          ReferenceError,
          "Var redeclaration throws with a non-simple parameter list inside an eval",
          "Let/Const redeclaration");
      assert.throws(function () { function foo(a, b = 1, ...c) { eval('var c;'); }; foo(); },
          ReferenceError,
          "Var redeclaration throws with a non-simple parameter list inside an eval",
          "Let/Const redeclaration");

      assert.doesNotThrow(function () { function foo(...a) { eval('let a;'); }; foo(); }, "Let redeclaration inside an eval does not throw with a non-simple parameter list");
      assert.doesNotThrow(function () { function foo(...[a]) { eval('let a;'); }; foo(); }, "Let redeclaration inside an eval does not throw with a non-simple parameter list");
      assert.doesNotThrow(function () { function foo(...a) { eval('const a = "str";'); }; foo() }, "Const redeclaration inside an eval does not throw with a non-simple parameter list");
      assert.throws(function () { function foo(a, ...b) { eval('var a;'); }; foo(); },
                    ReferenceError,
                    "Var redeclaration throws with a non-simple parameter list on a non-rest parameter inside eval",
                    "Let/Const redeclaration");
      assert.doesNotThrow(function () { function foo(...a) { eval('let a;'); }; foo(); }, "Let redeclaration of a non-default parameter inside an eval does not throw with a non-simple parameter list");
      assert.doesNotThrow(function () { function foo(...a) { eval('const a = 0;'); }; foo(); }, "Const redeclaration of a non-default parameter inside an eval does not throw with a non-simple parameter list");

      assert.doesNotThrow(function () { eval("function foo(a, ...args) { function args() { } }"); }, "Nested function redeclaration of a rest parameter does not throw");

      assert.throws(function () { eval("var x = { set setter(...x) {} }"); },
                    SyntaxError,
                    "Setter methods cannot have a rest parameter",
                    "Unexpected ... operator");
      assert.throws(function () { eval("var x = { set setter(...[x]) {} }"); },
                    SyntaxError,
                    "Setter methods cannot have a rest pattern parameter",
                    "Unexpected ... operator");
      assert.throws(function () { eval("var x = class { set setter(...x) {} }"); },
                    SyntaxError,
                    "Class setter methods cannot have a rest parameter",
                    "Unexpected ... operator");
      assert.throws(function () { eval("var x = class { set setter(...[x]) {} }"); },
                    SyntaxError,
                    "Class setter methods cannot have a rest parameter",
                    "Unexpected ... operator");

      // Default evaluation of 'this' should happen after the rest formal is assigned a register
      assert.doesNotThrow(function () { eval("function foo(a = this, ...b) {}"); }, "'this' referenced in formal defaults should not affect rest parameter");
      assert.doesNotThrow(function () { eval("function foo(a = this, ...[b]) {}"); }, "'this' referenced in formal defaults should not affect rest parameter");
    }
  },
  {
    name: "Rest basic uses and sanity checks",
    body: function () {
      function foo(a, b, c, ...rest) { return [a, b, c, ...rest]; }

      var bar = (a, b, c, ...rest) => [a, b, c, ...rest];

      class restClass {
        method(a, b, c, ...rest) { return [a, b, c, ...rest]; }
      };
      var baz = new restClass();

      var obj = {
        method(a, b, c, ...rest) { return [a, b, c, ...rest]; },
        evalMethod(a, b, c, ...rest) { return eval("[a, b, c, ...rest]"); }
      };

      var funcObj = new Function("a, b, c, ...rest", "return [a, b, c, ...rest]");

      function singleRest(...rest) { return rest; }

      assert.areEqual([1,2,undefined], foo(1,2),                    "Rest is an empty array with too few parameters to a function");
      assert.areEqual([1,2,3],         foo(1,2,3),                  "Rest is an empty array with the exact number of parameters to a function");
      assert.areEqual([1,2,3,4,5,6],   foo(1,2,3,4,5,6),            "Rest is a non-empty array with too many parameters to a function");

      assert.areEqual([1,2,undefined], bar(1,2),                    "Rest is an empty array with too few parameters to a lambda");
      assert.areEqual([1,2,3],         bar(1,2,3),                  "Rest is an empty array with the exact number of parameters to a lambda");
      assert.areEqual([1,2,3,4,5,6],   bar(1,2,3,4,5,6),            "Rest is a non-empty array with too many parameters to a lambda");

      assert.areEqual([1,2,undefined], baz.method(1,2),             "Rest is an empty array with too few parameters to a class method");
      assert.areEqual([1,2,3],         baz.method(1,2,3),           "Rest is an empty array with the exact number of parameters to a class method");
      assert.areEqual([1,2,3,4,5,6],   baz.method(1,2,3,4,5,6),     "Rest is a non-empty array with too many parameters to a class method");

      assert.areEqual([1,2,undefined], obj.method(1,2),             "Rest is an empty array with too few parameters to a method");
      assert.areEqual([1,2,3],         obj.method(1,2,3),           "Rest is an empty array with the exact number of parameters to a method");
      assert.areEqual([1,2,3,4,5,6],   obj.method(1,2,3,4,5,6),     "Rest is a non-empty array with too many parameters to a method");

      assert.areEqual([1,2,undefined], obj.method(1,2),             "Rest is an empty array with too few parameters to a method with an eval");
      assert.areEqual([1,2,3],         obj.method(1,2,3),           "Rest is an empty array with the exact number of parameters to a method with an eval");
      assert.areEqual([1,2,3,4,5,6],   obj.method(1,2,3,4,5,6),     "Rest is a non-empty array with too many parameters to a method with an eval");

      assert.areEqual([1,2,undefined], funcObj(1,2),                "Rest is an empty array with too few parameters to a function object");
      assert.areEqual([1,2,3],         funcObj(1,2,3),              "Rest is an empty array with the exact number of parameters to a function object");
      assert.areEqual([1,2,3,4,5,6],   funcObj(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a method with a function object");

      // The following takes a different path in the JIT
      assert.areEqual([1,2,3,4,5,6],   singleRest(1,2,3,4,5,6),     "Rest is a non-empty array with any parameters to a function with only a rest parameter");
    }
  },
  {
    name: "Rest pattern basic uses and sanity checks",
    body: function () {
      function foo(a, b, c, ...[d]) { return [a, b, c, d]; }

      var bar = (a, b, c, ...[d]) => [a, b, c, d];

      class restClass {
        method(a, b, c, ...[d]) { return [a, b, c, d]; }
      };
      var baz = new restClass();

      var obj = {
        method(a, b, c, ...[d]) { return [a, b, c, d]; },
        evalMethod(a, b, c, ...[d]) { return eval("[a, b, c, d]"); }
      };

      var funcObj = new Function("a, b, c, ...[d]", "return [a, b, c, d]");

      function singleRest(...[d]) { return d; }

      function objRest(...{'0': a, '1': b, length}) { return [a, b, length]; }

      assert.areEqual([1,2,undefined,undefined], foo(1,2),
        "Rest is an empty array with too few parameters to a function");
      assert.areEqual([1,2,3,undefined], foo(1,2,3),
        "Rest is an empty array with the exact number of parameters to a function");
      assert.areEqual([1,2,3,4], foo(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a function");

      assert.areEqual([1,2,undefined,undefined], bar(1,2),
        "Rest is an empty array with too few parameters to a lambda");
      assert.areEqual([1,2,3,undefined], bar(1,2,3),
        "Rest is an empty array with the exact number of parameters to a lambda");
      assert.areEqual([1,2,3,4], bar(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a lambda");

      assert.areEqual([1,2,undefined,undefined], baz.method(1,2),
        "Rest is an empty array with too few parameters to a class method");
      assert.areEqual([1,2,3, undefined], baz.method(1,2,3),
        "Rest is an empty array with the exact number of parameters to a class method");
      assert.areEqual([1,2,3,4], baz.method(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a class method");

      assert.areEqual([1,2,undefined,undefined], obj.method(1,2),
        "Rest is an empty array with too few parameters to a method");
      assert.areEqual([1,2,3,undefined], obj.method(1,2,3),
        "Rest is an empty array with the exact number of parameters to a method");
      assert.areEqual([1,2,3,4], obj.method(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a method");

      assert.areEqual([1,2,undefined, undefined], obj.method(1,2),
        "Rest is an empty array with too few parameters to a method with an eval");
      assert.areEqual([1,2,3, undefined], obj.method(1,2,3),
        "Rest is an empty array with the exact number of parameters to a method with an eval");
      assert.areEqual([1,2,3,4], obj.method(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a method with an eval");

      assert.areEqual([1,2,undefined,undefined], funcObj(1,2),
        "Rest is an empty array with too few parameters to a function object");
      assert.areEqual([1,2,3,undefined], funcObj(1,2,3),
        "Rest is an empty array with the exact number of parameters to a function object");
      assert.areEqual([1,2,3,4], funcObj(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a method with a function object");

      // The following takes a different path in the JIT
      assert.areEqual(1, singleRest(1,2,3,4,5,6),
        "Rest is a non-empty array with any parameters to a function with only a rest parameter");

      assert.areEqual([1, 2, 4], objRest(1, 2, 3, 4),
        "Rest with an object pattern destructures the rest array");
    }
  },
  {
    name: "Rest pattern uses with arguments and this references",
    body: function () {
      function foo(a, b, c, ...[d]) { arguments; return [a, b, c, d]; }
      function fooThis(a, b, c, ...[d]) { this; return [a, b, c, d]; }

      var bar = (a, b, c, ...[d]) => { arguments; return [a, b, c, d] };

      class restClass {
        method(a, b, c, ...[d]) { arguments; return [a, b, c, d]; }
      };
      var baz = new restClass();

      var obj = {
        method(a, b, c, ...[d]) { arguments; return [a, b, c, d]; },
        evalMethod(a, b, c, ...[d]) { arguments; return eval("[a, b, c, d]"); }
      };

      function testScopeSlots(a, b, c, ...[d]) {
        function sub() {
          return [a, b, c, d];
        }
        arguments;
        return sub();
      }

      assert.areEqual([1,2,undefined,undefined], foo(1,2),
        "Rest is an empty array with too few parameters to a function");
      assert.areEqual([1,2,3,undefined], foo(1,2,3),
        "Rest is an empty array with the exact number of parameters to a function");
      assert.areEqual([1,2,3,4], foo(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a function");

      assert.areEqual([1,2,undefined,undefined], fooThis(1,2),
        "Rest is an empty array with too few parameters to a function");
      assert.areEqual([1,2,3,undefined], fooThis(1,2,3),
        "Rest is an empty array with the exact number of parameters to a function");
      assert.areEqual([1,2,3,4], fooThis(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a function");

      assert.areEqual([1,2,undefined,undefined], bar(1,2),
        "Rest is an empty array with too few parameters to a lambda");
      assert.areEqual([1,2,3,undefined], bar(1,2,3),
        "Rest is an empty array with the exact number of parameters to a lambda");
      assert.areEqual([1,2,3,4], bar(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a lambda");

      assert.areEqual([1,2,undefined,undefined], baz.method(1,2),
        "Rest is an empty array with too few parameters to a class method");
      assert.areEqual([1,2,3, undefined], baz.method(1,2,3),
        "Rest is an empty array with the exact number of parameters to a class method");
      assert.areEqual([1,2,3,4], baz.method(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a class method");

      assert.areEqual([1,2,undefined,undefined], obj.method(1,2),
        "Rest is an empty array with too few parameters to a method");
      assert.areEqual([1,2,3,undefined], obj.method(1,2,3),
        "Rest is an empty array with the exact number of parameters to a method");
      assert.areEqual([1,2,3,4], obj.method(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a method");

      assert.areEqual([1,2,undefined, undefined], obj.method(1,2),
        "Rest is an empty array with too few parameters to a method with an eval");
      assert.areEqual([1,2,3, undefined], obj.method(1,2,3),
        "Rest is an empty array with the exact number of parameters to a method with an eval");
      assert.areEqual([1,2,3,4], obj.method(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a method with an eval");

      assert.areEqual([1,2,undefined,undefined], testScopeSlots(1,2),
        "Rest is an empty array with too few parameters to a function with a " +
        "reference to arguments using a sub function");
      assert.areEqual([1,2,3,undefined], testScopeSlots(1,2,3),
        "Rest is an empty array with the exact number of parameters to a function " +
        "with a reference to arguments using a sub function");
      assert.areEqual([1,2,3,4], testScopeSlots(1,2,3,4,5,6),
        "Rest is a non-empty array with too many parameters to a function with a " +
        "reference to arguments using a sub function");
    }
  },
  {
    name: "Rest basic uses and sanity checks with an arguments reference",
    body: function () {
      function fooArgs(a, b, c, ...rest) { arguments; return [a, b, c, ...rest]; }

      var barArgs = (a, b, c, ...rest) => { arguments; return [a, b, c, ...rest]; }

      class restClass {
        methodArgs(a, b, c, ...rest) { arguments; return [a, b, c, ...rest]; }
      };
      var baz = new restClass();

      var obj = {
        methodArgs(a, b, c, ...rest) { arguments; return [a, b, c, ...rest]; },
        evalMethodArgs(a, b, c, ...rest) { arguments; return eval("[a, b, c, ...rest]"); }
      };

      function testScopeSlots(a, b, c, ...rest) {
        function sub() {
          return [a, b, c, ...rest];
        }
        arguments;
        return sub();
      }

      assert.areEqual([1,2,undefined], fooArgs(1,2),                "Rest is an empty array with too few parameters to a function with a reference to arguments");
      assert.areEqual([1,2,3],         fooArgs(1,2,3),              "Rest is an empty array with the exact number of parameters to a function with a reference to arguments");
      assert.areEqual([1,2,3,4,5,6],   fooArgs(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a function with a reference to arguments");

      assert.areEqual([1,2,undefined], barArgs(1,2),                "Rest is an empty array with too few parameters to a lambda with a reference to arguments");
      assert.areEqual([1,2,3],         barArgs(1,2,3),              "Rest is an empty array with the exact number of parameters to a lambda with a reference to arguments");
      assert.areEqual([1,2,3,4,5,6],   barArgs(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a lambda with a reference to arguments");

      assert.areEqual([1,2,undefined], baz.methodArgs(1,2),         "Rest is an empty array with too few parameters to a class method with a reference to arguments");
      assert.areEqual([1,2,3],         baz.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a class method with a reference to arguments");
      assert.areEqual([1,2,3,4,5,6],   baz.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a class method with a reference to arguments");

      assert.areEqual([1,2,undefined], obj.methodArgs(1,2),         "Rest is an empty array with too few parameters to a method with a reference to arguments");
      assert.areEqual([1,2,3],         obj.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a method with a reference to arguments");
      assert.areEqual([1,2,3,4,5,6],   obj.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a method with a reference to arguments");

      assert.areEqual([1,2,undefined], obj.methodArgs(1,2),         "Rest is an empty array with too few parameters to a method with eval and a reference to arguments");
      assert.areEqual([1,2,3],         obj.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a method with eval and  a reference to arguments");
      assert.areEqual([1,2,3,4,5,6],   obj.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a method with eval and a reference to arguments");

      assert.areEqual([1,2,undefined], testScopeSlots(1,2),         "Rest is an empty array with too few parameters to a function with a reference to arguments using a sub function");
      assert.areEqual([1,2,3],         testScopeSlots(1,2,3),       "Rest is an empty array with the exact number of parameters to a function with a reference to arguments using a sub function");
      assert.areEqual([1,2,3,4,5,6],   testScopeSlots(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a function with a reference to arguments using a sub function");
    }
  },
  {
    name: "Rest basic uses and sanity checks with a this reference",
    body: function () {
      function fooArgs(a, b, c, ...rest) { this; return [a, b, c, ...rest]; }

      var barArgs = (a, b, c, ...rest) => { this; return [a, b, c, ...rest]; }

      class restClass {
        methodArgs(a, b, c, ...rest) { this; return [a, b, c, ...rest]; }
      };
      var baz = new restClass();

      var obj = {
        methodArgs(a, b, c, ...rest) { this; return [a, b, c, ...rest]; },
        evalMethodArgs(a, b, c, ...rest) { this; return eval("[a, b, c, ...rest]"); }
      };

      assert.areEqual([1,2,undefined], fooArgs(1,2),                "Rest is an empty array with too few parameters to a function with a reference to this");
      assert.areEqual([1,2,3],         fooArgs(1,2,3),              "Rest is an empty array with the exact number of parameters to a function with a reference to this");
      assert.areEqual([1,2,3,4,5,6],   fooArgs(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a function with a reference to this");

      assert.areEqual([1,2,undefined], barArgs(1,2),                "Rest is an empty array with too few parameters to a lambda with a reference to this");
      assert.areEqual([1,2,3],         barArgs(1,2,3),              "Rest is an empty array with the exact number of parameters to a lambda with a reference to this");
      assert.areEqual([1,2,3,4,5,6],   barArgs(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a lambda with a reference to this");

      assert.areEqual([1,2,undefined], baz.methodArgs(1,2),         "Rest is an empty array with too few parameters to a class method with a reference to this");
      assert.areEqual([1,2,3],         baz.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a class method with a reference to this");
      assert.areEqual([1,2,3,4,5,6],   baz.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a class method with a reference to this");

      assert.areEqual([1,2,undefined], obj.methodArgs(1,2),         "Rest is an empty array with too few parameters to a method with a reference to this");
      assert.areEqual([1,2,3],         obj.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a method with a reference to this");
      assert.areEqual([1,2,3,4,5,6],   obj.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a method with a reference to this");

      assert.areEqual([1,2,undefined], obj.methodArgs(1,2),         "Rest is an empty array with too few parameters to a method with eval and a reference to this");
      assert.areEqual([1,2,3],         obj.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a method with eval and a reference to this");
      assert.areEqual([1,2,3,4,5,6],   obj.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a method with eval and a reference to this");
    }
  },
  {
    name: "Rest basic uses and sanity checks with eval",
    body: function () {
      function fooArgs(a, b, c, ...rest) { eval(""); return [a, b, c, ...rest]; }

      var barArgs = (a, b, c, ...rest) => { eval(""); return [a, b, c, ...rest]; }

      class restClass {
        methodArgs(a, b, c, ...rest) { eval(""); return [a, b, c, ...rest]; }
      };
      var baz = new restClass();

      var obj = {
        methodArgs(a, b, c, ...rest) { eval(""); return [a, b, c, ...rest]; },
        evalMethodArgs(a, b, c, ...rest) { eval(""); return eval("[a, b, c, ...rest]"); }
      };

      assert.areEqual([1,2,undefined], fooArgs(1,2),                "Rest is an empty array with too few parameters to a function with an eval");
      assert.areEqual([1,2,3],         fooArgs(1,2,3),              "Rest is an empty array with the exact number of parameters to a function with an eval");
      assert.areEqual([1,2,3,4,5,6],   fooArgs(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a function with an eval");

      assert.areEqual([1,2,undefined], barArgs(1,2),                "Rest is an empty array with too few parameters to a lambda with an eval");
      assert.areEqual([1,2,3],         barArgs(1,2,3),              "Rest is an empty array with the exact number of parameters to a lambda with an eval");
      assert.areEqual([1,2,3,4,5,6],   barArgs(1,2,3,4,5,6),        "Rest is a non-empty array with too many parameters to a lambda with an eval");

      assert.areEqual([1,2,undefined], baz.methodArgs(1,2),         "Rest is an empty array with too few parameters to a class method with an eval");
      assert.areEqual([1,2,3],         baz.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a class method with an eval");
      assert.areEqual([1,2,3,4,5,6],   baz.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a class method with an eval");

      assert.areEqual([1,2,undefined], obj.methodArgs(1,2),         "Rest is an empty array with too few parameters to a method with an eval");
      assert.areEqual([1,2,3],         obj.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a method with an eval");
      assert.areEqual([1,2,3,4,5,6],   obj.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a method with an eval");

      assert.areEqual([1,2,undefined], obj.methodArgs(1,2),         "Rest is an empty array with too few parameters to a method with eval and an eval");
      assert.areEqual([1,2,3],         obj.methodArgs(1,2,3),       "Rest is an empty array with the exact number of parameters to a method with eval and an eval");
      assert.areEqual([1,2,3,4,5,6],   obj.methodArgs(1,2,3,4,5,6), "Rest is a non-empty array with too many parameters to a method with eval and an eval");
    }
  },
  {
    name: "Rest inlining",
    body: function () {
      function inlineTest() {
        function fooInline(a, b, c, ...rest) { arguments; this; return [a, b, c, ...rest]; }
        function fooInline2(a, b, ...[c]) { arguments; this; return [a, b, c]; }

        fooInline(1,2);
        assert.areEqual([1,2,undefined], fooInline(1,2), "Inlined rest handles less actuals than formals correctly");
        assert.areEqual([1,2,undefined], fooInline(...[1,2]), "Inlined rest handles less spread actuals than formals correctly");

        fooInline2(1);
        assert.areEqual([1,undefined,undefined], fooInline2(1), "Inlined rest handles less actuals than formals correctly");
        assert.areEqual([1,undefined,undefined], fooInline2(...[1]), "Inlined rest handles less spread actuals than formals correctly");

        fooInline(1,2,3);
        assert.areEqual([1,2,3], fooInline(1,2,3), "Inlined rest handles the same amount of actuals and formals correctly");
        assert.areEqual([1,2,3], fooInline(...[1,2,3]), "Inlined rest handles the same amount of spread actuals and formals correctly");

        fooInline2(1,2);
        assert.areEqual([1,2,undefined], fooInline2(1,2), "Inlined rest handles the same amount of actuals and formals correctly");
        assert.areEqual([1,2,undefined], fooInline2(...[1,2]), "Inlined rest handles the same amount of spread actuals and formals correctly");

        fooInline(1,2,3,4,5,6);
        assert.areEqual([1,2,3,4,5,6], fooInline(1,2,3,4,5,6), "Inlined rest handles the more actuals than formals correctly");
        assert.areEqual([1,2,3,4,5,6], fooInline(...[1,2,3,4,5,6]), "Inlined rest handles the more actuals than formals correctly");

        fooInline2(1,2,3,4,5,6);
        assert.areEqual([1,2,3], fooInline2(1,2,3,4,5,6), "Inlined rest handles the more actuals than formals correctly");
        assert.areEqual([1,2,3], fooInline2(...[1,2,3,4,5,6]), "Inlined rest handles the more actuals than formals correctly");
      }
      inlineTest();
      inlineTest();
      inlineTest();
    }
  },
  {
    name: "OS 264962: Deferred nested function causes an assert",
    body: function () {
      var func4 = function (...argArr13) {
        function foo() {
            eval();
        }
      };
      var func5 = function (...[argArr13]) {
        function foo() {
            eval();
        }
      };
    }
  },
  {
    name: "OS 265363: ArgIn_Rest is emitted in loop bodies",
    body: function () {
      var func4 = function (argArrObj9, ...argArr11) {
        while (false) {
        }
      };
      var func4 = function (argArrObj9, ...[argArr11]) {
        while (false) {
        }
      };
      func4();
    }
  },
  {
    name: "OS 266421: Rest does not create a frame object properly",
    body: function () {
      var func4 = function (...argArr6) {
        for (var _i in arguments) {
        }
      };
    }
  },
  {
    name: "OS 266421: Rest pattern does not create a frame object properly",
    body: function () {
      var func4 = function (...[argArr6]) {
        for (var _i in arguments) {
        }
      };
    }
  },
  {
    name: "OS 645508: Nested function reference to parent rest parameter fails",
    body: function () {
      function foo(...bar) {
        function child() {
          bar;
        }
        child();
      }
      foo();
    }
  },
  {
    name: "OS 645508: Nested function reference to parent rest pattern fails",
    body: function () {
      function foo(...[bar]) {
        function child() {
          bar;
        }
        child();
      }
      foo();
    }
  },
  {
    name: "Rest parameter is incorrectly assumed to be in a scope slot",
    body: function () {
      function test0() {
        var func1 = function (...argArr5) {
          arguments[1];
        };
        do {
          func1();
          _oo2obj2.func1();
        } while (false);
      }
    }
  },
  {
    name: "Rest pattern is incorrectly assumed to be in a scope slot",
    body: function () {
      function test0() {
        var func1 = function (...[argArr5]) {
          arguments[1];
        };
        do {
          func1();
          _oo2obj2.func1();
        } while (false);
      }
    }
  },
  {
    name: "Extra arguments passed to eval should not be visible",
    body: function () {
        var eval = function(...arg) {
            assert.areEqual(1, arg.length, "arg.length == 1");
            assert.areEqual("super()", arg[0], "arg[0] == 'super()'");
        }
        eval("super()");
    }
  },
  {
    name: "OSG 5737917: Create arguments object when the only formal is a rest argument",
    body: function () {
      var func1 = function (...argArr0) {
        eval('');
        return (Object({
          get: function () {
          }
        }));
      }
    }
  },
  {
    name: "OSG 5737917: Create arguments object when the only formal is a rest pattern",
    body: function () {
      var func1 = function (...[argArr0]) {
        eval('');
        return (Object({
          get: function () {
          }
        }));
      }
    }
  },
  {
    name: "OS 7249217: Rest is able to be in a slot in arguments optimization case",
    body: function () {
      function foo(...argArr9) {
        var protoObj0 = {};
        with (protoObj0) {
          arguments;
          var f = function () { assert.areEqual([1,2,3], argArr9, "Arguments scope object optimization allows rest to function correctly inside with"); };
          f();
        }
        assert.areEqual([1,2,3], argArr9, "Arguments scope object optimization allows rest to function correctly");
      }
      function bar(...[argArr9]) {
        var protoObj0 = {};
        with (protoObj0) {
          arguments;
          var f = function () {
            assert.areEqual(1, argArr9,
              "Arguments scope object optimization allows rest to function correctly inside with");
          };
          f();
        }
        assert.areEqual(1, argArr9,
          "Arguments scope object optimization allows rest to function correctly");
      }
      bar(1,2,3);
    }
  }
];

testRunner.runTests(tests, { verbose: WScript.Arguments[0] != "summary" });

// OS: Bug 269660: [ES6][Rest] ASSERTION 14444: (inetcore\jscript\lib\backend\irbuilder.cpp, line 792) Tried to use an undefined stacksym?
// Serialization bug that needs to be at global scope.
function test0() {
  var func1 = function (...argArr2) {
      if (false) {
          var strvar9 = argArr2;
      }
  };
  func1();
}
test0();
test0();

redpajama_set_name: RedPajamaGithub


Cassie receives her Christmas gift from Jack.
We call it the Big Nasty. She can enjoy it only in the backyard. And enjoy it she does.
Jack slept a little late and emerged from his room, trepidatious and sneaking, almost missing the understated significance of Harry sitting on the ottoman. Sitting on the ottoman, clutching a Wii remote.
Harry is a gift from Mama D and Papa D when Jack was three. We met Mama D and Papa D in Scottsdale on our way up to Williams to ride the Polar Express. Mama D gave Harry to Jack and Jack hugged Harry, box and all. Since then Harry has gone to the North Pole every year to help Santa, and returned each Christmas with Jack's presents. This year, Harry brought the Wii.
Jack's stocking, hung by the chimney in haste because we'd almost forgotten, was filled with edible goodies: M&Ms, a chocolate reindeer, chocolate coins, and Jack's favorite snack: two varieties of turkey jerky.
Two heads, four arms, six eyes.
From Mom and Dad Jack got a lot of Wii related gifts.
This big box came from Uncle Mike in Chicago.
two loaves of one kind of bread: Better Homes & Garden French.
We feasted. I still have leftovers.
Back in the day, when a body could drive a car up Sabino Canyon, my family had a Christmas tradition. Grandma would send us a Swiss Colony gift pack and we'd haul it up the frigid tram road, select a chilly picnic spot, and feast on processed cheeses, summer sausages, and petit fours. My sister and I would look for sand rubies while Mom and Dad cleared the wrappings. Then we'd all go home and have a real meal.
This year we revived the tradition. Mom ordered the Swiss Colony (I keep typing Swill Colony...) Mega Pack, named Something for Everyone. Here it is. ((Cue trumpet fanfare.)) Mandy and Evan give it the Thumbs Up a la Jack.
Tuesday had been all day wet and dreary, Thursday was crummy too. Friday was even worse. But bracketed between those cold and rainy days we had a day of perfect blue skies and mild temperatures, like a gift from God.
The boys take the high road.
This year's Christmas Concert combined all the kindergarten, first, and second grade classes in Jack's school. Too many kids on stage; too many parents in the audience. I sat on the floor in front of the first row of chairs. That's Jack at the very left edge of the picture.
If Jack thought your attention should be directed at the performers, he'd certainly let you know with exaggerated hand gestures.
This is a song about Kwanzaa, with a funky thumb dance.
Nothing like Demon Jazz Hands.
Sleep in heavenly peace, Demons.
What's that, just beyond the fence? Why is Cassie barking?
Here, piggie! Even though they're not pigs, they still came when I called them that.
Last Saturday we visited Sheldon's Nursery, a charming little place (though larger than expected) just a little more than a mile from my home. Never been there before.
Aaron was on a kitty chase. He carefully negotiated the railroad tie terrace and disappeared among the oleander.
Black kitty in the citrus.
Hot on her trail. She escaped. Aaron said, "Moh? Moh?"
Instead he found this hanging plant that appealed to him. He dragged it around as Bin and I looked at butterfly-attracting plants in the back. Bin selected a specimen and carried it to the front, where the Whoville-looking master gardner informed us that it wasn't for sale. It was the Mama Plant from which cuttings were grown. Bin bought one of her babies.
Here's the photo we posed for Bin's facebook profile. She decided not to use it.
Here's the photo for Aaron's facebook profile.


Certified Organic St. John's wort, well known for its pain easing and anti inflammatory actions, soothing, pain easing plantain and a combination of warming, pain relieving essential oils in a pure olive oil and bees wax base. Rub on inflamed and painful muscles, tendons, or joints to relieve pain.
2 OZ. TIN Contains St. John's wort, olive oil, bees wax, essential oils of ginger, clove, peppermint, cannabis and cinnamon.


Why do you need an ISBN when your book is entirely digital and open access?
I have now navigated Library and Archives Canada's system to get ISBNs (International Standard Book Numbers) issued for Teaching in a Digital Age and the French version, L'enseignement à l'ère numérique.
One issue was identifying the publisher. The books are hosted by both BCcampus and Contact North, and Contact North did the French translation, but however I own the copyright through the CC-BY-NC Creative Commons license. As it is a self-published book, it seems that I am the publisher. However, it is confusing to have the same person as both author and publisher, so I have registered my consultancy company, 'Tony Bates Associates Ltd', as the publisher, as this will not affect the copyright.
Bates, A.W. (2015) Teaching in a Digital Age: Guidelines for Designing Teaching and Learning Vancouver BC: Tony Bates Associates Ltd. ISBN: 978-0-9952692-0-0.
Bates, A.W. (2016) L'enseignement à l'ère numérique: Des Balises pour l'Enseignement et l'Apprentissage Vancouver BC: Tony Bates Associates Ltd. ISBN: 978-0-9952692-1-7. (The French version is only available as a pdf).
However, if you have used another citation for my book previously, it should be OK so long as it conforms to one of the citation standards such as the APA. If there are any librarians reading this who have better advice, please use the comment box below.
As new translations for the book are published, I will add these to this web page.
Good question. I resisted for over a year getting an ISBN, since all you need to access the book is the url, but I had academics stating that it was university policy that they could not require students to access any publication without an ISBN (really!), and students telling me that supervisors were requiring them to give the ISBN when citing the book.
The third is to increase accessibility. The book is now listed in Library and Archives Canada so can be downloaded also from their site, in either pdf or epub format. University and college librarians in particular access publications through this site.
So it was a bit of a bureaucratic hassle, but ISBNs are automatically issued through the Library and Archives Canada web site, once you are registered, and uploading copies to the Electronic Collection is relatively straightforward. Just remember to ask for enough ISBNs when registering a publication to ensure that there is an ISBN for every version of the book.
Any comments, corrections or suggestions welcome.
Previous articleOnline learning for beginners: 8. Won't online learning be more work?
Next articleOnline learning for beginners: 9. How can I do online learning well?


We researched and named the community, directed the creative, devised a long-term strategy and wrote unique content (more than 80 articles and social media posts) with tips, tricks, interviews and facts. PLUS, we created two all-new infographics to drive top-of-the-funnel traffic.
From hire to launch, sheBOOM was up and running in 60 days. The community was BOOMing with new users – including Facebook, LinkedIn, Twitter, and Instagram accounts. Plus, we created a new stream called Happy Tech, which specializes in useful technology for women who own service businesses and we wrote a profile of Women Who Code.
In just five months, sheBOOM gained exposure to more than 20,000 viewers and won a national award within a month of its first publication! We're able to track leads and engagement at an individual post level, and turn views into ROI! Now, sheBOOM is about to relaunch under theONswitch brand — with an even bigger target audience, new content for female founders, and a range of advertising/sponsorship opportuities for women entrepreneurs. Stay tuned and BOOM with us!


CableLabs is pleased to announce that Distinguished Technologist Dr. Jennifer Andreoli-Fang has won Light Reading's prestigious 2018 Hedy Lamarr Female Tech Pioneer of the year award. Now in its fourteenth year and voted on by the Women in Comms (WiC) Board of Advisors, the award seeks to recognize women in the next-generation communications industry that have made substantial technological contributions in the past year to the sector. Congratulations Jennifer! We couldn't be prouder.
Distinguished Technologist Dr. Jennifer Andreoli-Fang has had an incredible influence on both the cable broadband and wireless industries through her work on unlicensed mobile technologies, LTE, cable WiFi and the launch of both DOCSIS 3.1 and Full Duplex DOCSIS.
In addition to DOCSIS, Dr. Andreoli-Fang spent the past year heading up the CableLabs Mobile Backhaul Project. The new technology will be deployable next year in time for the first 5G deployments, alongside an expected influx in 4G small cells. She has been granted 49 patents with several pending. You can read more about Jennifer's work in her blog posts. To read more about Jennifer's work in the future, don't forget to subscribe to our blog.


ROCKFORD — The Guy Reno Family Foundation recently awarded a $6,500 grant to Circle of Change.
The grant will be used for COC's Veterans Dog Program, which seeks to improve the quality of life for veterans diagnosed with PTSD, traumatic brain injury and other psychological trauma. The program provides adjunct therapy through the training and handling of dogs.
The Circle of Change classes are offered for free to U.S. military veterans and those serving in the National Guard and Reserves. There are three classes in the Rockford area and one in Madison, Wisconsin.


Laser lipo light offers effective, natural non-invasive lipolysis and works great with complementary add-on treatments to further enhance results. Lose at least one inch from day one.
Every session includes your choice of an herbal slimming wrap or vibration therapy.
Fat loss gets amplified with complementary therapies! Sweat it out and burn an additional 400-600 calories with an infrared sauna wrap (45 minutes), detox and soothe sore muscles with my take home re-mineralizing and detoxifying bath soak with aromatherapeutic herbs, or add an energetic diagnosis and healing treatment to uncover the root of any potential body issue and rebalance from the inside out.
For more information about LLLT / Cold Laser / and Red Light Therapy, please visit LEDPhototherapies.com.
Interested in purchasing this awesome technology? Use code bodysoulandbeauty and receive 15% off any LLLT wellness device at LEDPhototherapies.com.
Gloria, above, after sessions 2 days a week for 6 weeks in conjunction with 20 minutes of walking and increased water intake on treatment days.


Here, you can see how this basket holds six large cylindrical parts in place for easy handling. Made of thick, heavy-duty grade 304 stainless steel, this basket needed to be durable enough to hold 30 lbs. worth of parts. Why? So that these baskets could be stacked up to four units high while fully loaded without bending or breaking.
The wire forms on the inside of the basket were custom-shaped to hold these exact pieces in place so that they would not rattle or roll around when the basket was being handled. Thanks to the precision of our automated wire bending machines, we can create custom wire shapes to accomodate many differently-sized and shaped parts.


Exquisite custom home on an equally exquisite wooded lot in highly sought-after Chester Springs. Located in a quiet cul de sac community, the John Bachich-built 4-bedroom, 2.5-bathroom Colonial has plenty of curb appeal with a gorgeous stone exterior and professional landscaping. The entire home is in pristine condition from top to bottom and is elegantly decorated and finished in neutral colors and decor. Come through the grand two-story foyer to find gleaming, like new hardwood floors throughout the first floor. Spacious, open and bright dining room and living room welcomes entertaining! The gourmet Kitchen is a chef's dream featuring professional grade stainless appliances, gleaming granite countertops, raised panel cabinetry, center island gas cooktop and handy Butler's Pantry. Enjoy the dining area with french doors to a private screened porch and patio with views of the naturescape beyond. The open styled family room is highlighted by a floor to ceiling stone propane-burning fireplace and vaulted ceiling. Grab a book and settle in a quiet nook in the study lined with custom built bookcases. The custom finished mudroom with access to the 2 car garage and a powder room completes the picture for the first floor of this lovely home. Enter the second floor through the front grand staircase and you will see the open, bright architecture continues! The hall bath services 3 generous sized bedrooms. The master suite is expansive and offers a walk-in closet, handy laundry, and workout/bonus room. Walk into the master bath with all spa-like features! The fully finished basement is decked out with plenty of storage, additional powder room and is currently being used as a recreational space and games room. The exterior of this home is nothing short of breathtaking. Mature plantings in a nicely protected setting create a tranquil spot for both quiet relaxing and large-scale entertaining. This is a wonderful home in a fabulous setting. A true home for all seasons. The absolute finest in Chester County living. Comfortable and warm. . . this thoughtful floor plan is designed to encourage a relaxed lifestyle. Minutes away from award-winning schools and in the center of things with all manner of retail stores and restaurants, things to do and places to go. Nestled on 1.7 acres yet just minutes from the PA Turnpike, Routes 23, 100 and 401. Why settle for anything less? Welcome home.


This report summarizes the current abilities of the ARISE network, focussing on the use of ARISE data for weather and climate monitoring in Europe, now, and within the next 10 to 20 years. Based on this outcome, and future needs, a roadmap is proposed to enlighten the ARISE impact and implementation for weather and climate monitoring including potential areas of work.
ARISE has clearly demonstrated that it has the potential to fill important gaps for numerical weather prediction to improve modelling of weather and climate. Potential is shown that ARISE techniques can provide accurate measurements where GCMs do not typically assimilate data. High-‐quality unbiased observations are of great importance. Idealized experiments have indicated that global coverage of stratospheric observations results in a larger forecast skill improvement compared to regional nudging.
Key actions are proposed towards the implementation of ARISE for weather and climate monitoring in the next 10 to 20 years. Assimilation of new observations requires a long pathway. Therefore, different steps are listed that lead to both short-‐ and long-‐term impacts.


text:
Armando Thomas "Mondo" Guerra (born June 6, 1978) is a Mexican-American fashion designer who finished as runner-up on Season 8 of Project Runway, and later won the series' first season of "Project Runway: All Stars". Mondo also came out as HIV positive on the show.
Guerra was also the first contestant on the show to come from Denver, Colorado.[1]
Guerra is a fifth-generation Mexican-American from the Denver area.[2] He attended high school at the Denver School of the Arts.
Guerra was on the eighth season of Project Runway, aired in 2010. After placing in the top, but not winning, on a number of challenges, then placing in the bottom but not being eliminated in the seventh (Resort Wear Challenge) episode, he won the challenges on the eighth (Jacqueline Kennedy Challenge), ninth (L'Oreal Makeup Challenge) and tenth (HP Pattern Challenge) episodes.
During the tenth challenge, he revealed to the judges that his pattern of bright, bold plus signs on a pant was inspired by his HIV+ status, and that he had been keeping his HIV status a secret for ten years. He also won $20,000 for the ninth challenge, which involved both a "couture" look and a "ready-to-wear" look.
Guerra came in second place in the final competition held at Mercedes Benz Fashion Week at Lincoln Center in New York City. Gretchen Jones came in first place, and Andy South[3] came in third.
Project Runway Executive Producer Heidi Klum (who had pushed for Guerra to win over Jones in a lengthy [4][5] split debate over the winner) appeared in a modified version of one of Guerra's final collection gowns for the Los Angeles premiere of the movie Black Swan[6] a few weeks after the airing of the final episode.
Guerra was the winner of the 2012 series Project Runway: All-Stars, beating out Season 1 designer Austin Scarlett and fellow Season 8 designer Michael Costello.

redpajama_set_name: RedPajamaCommonCrawl


text:
Joseph F. Decker
Joseph Frank 'Joe' Decker, 80, of Hutchinson, died July 4, 2020, at his residence. He was born October 26, 1939, in Hebron, NE, to Lyndon Harold and Myrtle Melissa (Minnick) Decker.
Joe graduated from Hutchinson High School and served in the United States Navy. He retired as a Captain from the City of Hutchinson Fire Department, and worked in maintenance at Central Christian School, Hutchinson. He enjoyed attending Hutchinson Community College basketball games, the National Junior College Athletic Association Men's National Basketball Tournament, and Hutchinson Monarchs' baseball games. Joe was an avid fisherman and gardner, and a lifetime member of Forest Park Presbyterian Church, Hutchinson, now known as New Covenant Presbyterian Church, Hutchinson. His most rewarding job and passion, however, was being a husband, father, grandfather, great-grandfather, and caregiver for his forty-four year old special needs son, Michael.
On June 15, 1962, Joe married Geraldine 'Geri' Petering, in Hutchinson. They shared over fifty-seven years of marriage, prior to her death on September 9, 2019.
He is survived by: his children, James Decker of Hutchinson, Renee (Kerry) Robinson of Hutchinson, Kristy (Scott) Welchons of San Marcos, CA, and Michael Decker of Hutchinson; nineteen grandchildren; one great-grandchild; brothers, John (Celia) Decker of Colorado, and James (Karen) Decker of Illinois; and sister, Jean Decker of Colorado.
Joe was preceded in death by his parents, and wife, Geraldine 'Geri' Decker.
Cremation has taken place. Memorial service will be 11 a.m. Saturday, July 25, 2020, at New Covenant Presbyterian Church, 700 E. 25th Avenue, Hutchinson, with Rev. Craig Waetke officiating. Friends may sign the book from 9 a.m. to 5 p.m. Monday, July 13, 2020, through Friday, July 17, 2020, at Elliott Mortuary. Family will greet friends from 10 a.m. until service time, Saturday, July 25, 2020, at the church.
In lieu of flowers, memorials are suggested to Central Christian School, Hutchinson, or TECH, Inc., in care of Elliott Mortuary and Crematory, 1219 N. Main, Hutchinson, KS 67501.


Dear David and Bonnie: Vas gipts zawnst?
Dad is getting a new Buick and he still has the rest of this month to use the rented Cadillac, so my car is in the garage this morning to have the door opener taken off and put on the new car. My car will sit out now until Apr. 1. Dad said he wanted to keep the new car in our garage until he is ready to use it. Just before Apr. 1 we will have to have door opener taken off the rented car and put on my Cadillac.
Mrs. Staton passed away Friday night and the funeral is this afternoon. She was 88, which is a pretty good age to attain even in the space age. Mr. Staton says he is going to stay where he is. He doesn't look too good and I think at times he is a little fuzzy, but I suppose he will remain in his home as long as possible. I think he is about 95.
I was asked to take an office on the Conference level (Christian School Relations) but since we have already planned to leave here July 16 to go to Switzerland, I couldn't see how I could attend School of Mission July 10 to 15. I am not that fast. I couldn't get ready for a 5 ½ week holiday in one day, because that would be what I would have to do. Also there is so much running around connected with the Conference office. I would have to go to Madison, Wisconsin, one week in June (I wouldn't mind that, but hate to leave Dad alone) but from past experiences I know I would be expected to attend more meetings than I think I want to attend.
Mrs. Myers didn't have to have any teeth pulled. Dr. Limp said she just needed a filling in one and that the rest were solid as rocks, so she was quite happy about that. I stopped to see her Friday. I usually stop once or twice a week. I think she is feeling as good as can be expected, for one at her age and with her disability.
We are still in the air about our stereo. A field man is supposed to come and give it a look over sometime this week, and if he can't find the trouble Sears is going to do what we want done. Sears sells a Fisher stereo under the name of Virtuoso and if the one we have can't be made to sound right, we will get the Virtuoso. According to ratings Fisher makes the best.
I wrote to the McGraws some time ago, but haven't heard from them. I thought we might be able to make some kind of connection while travelling.
The garage must have my car ready, so must get along and do my errands, etc.
This entry was posted in Genealogy, Yegerlehner and tagged 1960s, Boston, Boston University School of Theology, David A. Yegerlehner, Dr. Limp, Eva J. (Stockledger) Staton, genealogy, Gladys R. (Foster) Yegerlehner, Indiana, Jeptha B. Staton, Kentland, Massachusetts, Roscoe S. Yegerlehner, Ruth M. Myers on March 6, 2017 by Deborah Sweeney.
"I couldn't get ready for a 5 ½ week holiday in one day, because that would be what I would have to do…" Oh how true. We know the feeling.


Beyond our dedication of helping your pet achieve optimal health, we provide a comfortable environment so your pet can relax while waiting to be seen.Each veterinarian and team member is deeply committed beite the health and well-being of your pet. Read no further and call us right away! You can also subscribe beite our newsletter. At North Fork Animal Hospital, we treat your pets like the valued family members they are. Our office is very easy beite get beite, and you can find directions on our Contact Us page. Our main location attraktiv Southold, is a full service animal hospital and our Shelter Island clinic is available for routine check ups, vaccinations, and minor procedures.
Attraktiv between your veterinary visits, your pet will benefit from you reading these free informative articles. Attraktiv between your veterinary visits, your pet will benefit from you reading these free informative articles. If you want to ask a question call or email us and we'll promptly get back beite you. When you choose the "right vet" igang you and your animals, look beite the North Fork Animal Hospital. Browse around and look at our articles and pet videos. The best veterinary care igang animals is ongoing nutrition and crux prevention. We are dedicated to providing quality, compassionate care beite our clients. When you choose the "right vet" for you and your animals, look to the North Fork Animal Asyl. You can also subscribe to our newsletter. Read no further and call us right away! Beyond our dedication of helping your pet achieve optimal health, we provide a comfortable environment so your pet can relax while waiting beite be seen.
Our office is very easy to get to, and you can find directions on our Contact Us page. We love animals as much as you do! Read no further and call us right away! Our main location in Southold, is a full service animal asyl and our Shelter Island clinic is available igang routine check ups, vaccinations, and minor procedures. Each veterinarian and team member is deeply committed beite the health and well-being of your pet.
Our office is very easy to get to, and you can find directions on our Contact Us page. Attraktiv between your veterinary visits, your pet will benefit from you reading these free informative articles. If you want to ask a question call or email us and we'll promptly get back beite you. Our doctors are available beite see your furry, scaled and feathered friends. If you want to ask a question call or email us and we'll promptly get back beite you. Read no further and call us right away!
Attraktiv between your veterinary visits, your pet will benefit from you reading these free informative articles. At North Fork Animal Hospits, we treat your pets like the valued family members they are. Browse around and look at our articles and pet videos. If you want to ask a question call or email us and we'll promptly get back beite you. If you want to ask a question call or email us and we'll promptly get back beite you.


Very interesting video and scary at the same time. It is so surprising to me to actually see in the video how easily can people sell and buy illegal guns and drugs online using Deep Web. This video also puts into perspective how cyberspace can be used both to keep someone's anonymity or steal it.
I remember when the IRC was the original 'deep web' - any type of subject matter or activity could be found on the right IRC channel (plus it was relatively secure). Now we have the deep web. Law enforcement and the IC will need to adapt to the new threatscape.
I agree with @Emmereet. It is actually mind blowing how easily people sell and buy illegal guys and drugs online using websites like Deep Web and Silkroad. I think it would be difficult to regulate or shut down websites like these. Deep Web and Silk Road seemed to be shut down at one point, however sellers found other online black markets to sell from so i think it will be difficult trying to regulate access to these types of websites.
I think the general feeling of having a free and open internet network is appealing to most, but when you get into the evils that come along with that people tend to back away and then persecute such initiatives. Then that leads to the deeper question of do we truly want to live in a free and open world. I think people who argue against drug legalization and stricter gun control forget that criminals don't play by the rules of society. In fact, that's the entire thing that makes them criminals. The rules are really for the people who want to follow them, and that's for every country. Is that to say the deep web is a representation of anarchy without any laws ? Definitely not, as was depicted in the video with the gun dealer who refused to sell his merchandise to an individual whom stated their only intention was to murder another person. I think morality more than anything else governs the deep webs. I think the root cause of all the bad stuff here is that a certain percentage of people are evil. Then another, hopefully the majority, percent is inherently good or at least morally fair. The deep web has just become another reflection of that much as many other forms of "free" communication throughout history like music and film.


text:
11-Year Sentence For Hedge Fund Boss Rajaratnam : The Two-Way Though it's thought to be the longest sentence ever for insider trading, prosecutors had wanted the Galleon Fund manager to be put away for much longer.
11-Year Sentence For Hedge Fund Boss Rajaratnam
October 13, 201111:31 AM ET
Mark Memmott
Raj Rajaratnam, billionaire co-founder of Galleon Group, entering Manhattan federal court in May.
Louis Lanzano/AP hide caption
Louis Lanzano/AP
Raj Rajaratnam, the hedge-fund billionaire convicted of insider trading, has just been given what's said to be the longest-ever prison sentence in the U.S. for that crime.
He's due to spend 11 years behind bars, The New York Times' DealBook blog and other news outlets are reporting. And he's been fined $10 million.
As NPR.org has previously reported, Rajaratnam made a fortune "by coaxing a crew of corporate tipsters to give him an illegal edge on blockbuster trades in technology and other stocks in what prosecutors called the largest insider trading case ever involving hedge funds."
Prosecutors said he made profits and avoided losses totaling more than $60 million thanks to those tips. Rajaratnam ran the Galleon Group of hedge funds.
Prior to today's sentencing, prosecutors had been seeking to have the 54-year-old Rajaratnam sent away "for at least 19 1/2 years," The Associated Press reported. They said, AP adds, that Rajaratnam lacks remorse. Rajaratnam's attorneys, though, argued he "should receive leniency with a sentence substantially below the guidelines range because of his failing health and his extensive community service."
According to the AP, U.S. District Judge Richard J. Holwell said he took into account that Rajaratnam needs a kidney transplant and suffers from advanced diabetes.
Update at 1:10 p.m. ET. Lawyers Ask That He Be Sent To Madoff's Prison:
"The Sri Lanka-born Rajaratnam, 54, was ordered to report to a yet-to-be-designated prison on Nov. 28," the AP adds. "His lawyers asked that he be allowed to report to the medical facility at the Butner Federal Correctional Complex in North Carolina, where Bernard Madoff is serving his 150-year sentence after admitting to a fraud that cheated thousands of people out of billions of dollars."
Raj Rajaratnam