{{header}}
{{object 1 0}} <<
  /Type /Catalog
  /Pages 2 0 R
  /AcroForm 4 0 R
  /OpenAction 10 0 R
>>
endobj
{{object 2 0}} <<
  /Type /Pages
  /Count 1
  /Kids [
    3 0 R
  ]
>>
endobj
% Page number 0.
{{object 3 0}} <<
  /Type /Page
  /Parent 2 0 R
  /Resources <<
    /Font <</F1 15 0 R>>
  >>
  /Contents [21 0 R]
  /MediaBox [0 0 612 792]
>>
% Forms
{{object 4 0}} <<
  /Fields [5 0 R]
>>
% Field
{{object 5 0}} <<
 /FT /Tx
 /T (MyField)
>>
% OpenAction action
{{object 10 0}} <<
  /Type /Action
  /S /JavaScript
  /JS 11 0 R
>>
endobj
% JS program to exexute
{{object 11 0}} <<
>>
stream
function testField(x) {
  var field = this.getField("MyField");
  field.value = x;
  var y = field.value;
  app.alert("Answer for \"" + x + "\" is: " + typeof(y) + " " + y);
}
testField("goats");
testField("b4");
testField("b4.5");
testField("4x");
testField("4.5x");
testField("4");
testField(" 4");
testField("4 ");
testField("                          4                                      ");
testField("4 3 2 1");
testField("-4");
testField("23.00000001");
testField("23.00000000000000001");
testField("25,5");
testField("1e+5");
testField("1e5");
testField("1e-5");
testField("-1e-5");
testField("1.2e5");
testField("NAN");
testField("INF");
testField("0x100");
testField("123x6");
testField("123xy6");
testField("123.y6");
testField("1,000,000");
testField("1.2.3");
testField("1-3");
testField("1+3");
testField("1.-3");
testField("1.+3");
endstream
endobj
{{xref}}
trailer <<
  /Root 1 0 R
>>
{{startxref}}
%%EOF