{{header}}
{{object 1 0}} <<
  /Type /Catalog
  /Pages 2 0 R
  /AcroForm 4 0 R
  /OpenAction 7 0 R
>>
endobj
{{object 2 0}} <<
  /Type /Pages
  /Count 1
  /Kids [3 0 R ]
>>
endobj
{{object 3 0}} <<
  /Type /Page
  /Parent 2 0 R
  /MediaBox [0 0 600 700]
  /Resources <<>>
  /Annots [5 0 R]
>>
endobj
{{object 4 0}} <<
  /Fields [5 0 R]
>>
endobj
{{object 5 0}} <<
  /V /TestV
  /FT /Tx
  /Type /Annot
  /Subtype /Widget
  /T (txt1)
  /F 4
  /AP <</N 6 0 R>>
  /Rect [200 200 400 400]
>>
endobj
{{object 6 0}} <<
  /Type /XObject
  /Subtype /Form
  /FormType 1
>>
endobj
{{object 7 0}} <<
  /Type /Action
  /S /JavaScript
  /JS 8 0 R
>>
endobj
{{object 8 0}} <<>>
stream
function run() {
  var doc = this;
  Object.prototype.__defineSetter__('V', function() {
    doc.resetForm();
  });
  var other_info = this.info;
}
try {
  run();
  app.alert('*** PASS ***');
} catch (e) {
  app.alert('Caught: ' + e);
}
endstream
endobj
{{xref}}
trailer <<
  /Root 1 0 R
  /Info 5 0 R
>>
{{startxref}}
%%EOF

