From fa2516df712aa59eb414933a912d30bb6fa1606e Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 26 Feb 2021 14:47:52 -0500 Subject: [PATCH] Fix behavior for finding /Q, /DA, and /DR for form fields If not found in the field hierarchy, /Q and /DA are supposed to be looked up in the document-level form dictionary. /DR is supposed to only come from the document dictionary. --- ChangeLog | 13 + include/qpdf/QPDFFormFieldObjectHelper.hh | 15 +- libqpdf/QPDFFormFieldObjectHelper.cc | 53 +- libqpdf/QPDFPageDocumentHelper.cc | 3 +- manual/qpdf-manual.xml | 12 +- qpdf/qpdf.testcov | 3 +- qpdf/qtest/qpdf.test | 1 + qpdf/qtest/qpdf/form-document-defaults.pdf | 2439 +++++++++++++++++ .../qtest/qpdf/form-filled-by-acrobat-out.pdf | 22 +- .../qpdf/form-form-document-defaults.out | 241 ++ qpdf/qtest/qpdf/sample-form-out.pdf | 59 +- 11 files changed, 2837 insertions(+), 24 deletions(-) create mode 100644 qpdf/qtest/qpdf/form-document-defaults.pdf create mode 100644 qpdf/qtest/qpdf/form-form-document-defaults.out diff --git a/ChangeLog b/ChangeLog index a8775f57..88e72b76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2021-02-26 Jay Berkenbilt + + * Bug fix: QPDFFormFieldObjectHelper was mis-handling /DA, /Q, and + /DR in ways that usually didn't matter but were still wrong. /DA + and /Q were being found in the field hierarchy, but if not found, + the default values in the /AcroForm dictionary were not being + used. /DR was being treated as an inherited field in the field + dictionary, which is wrong. It is actually supposed to come from + the /AcroForm dictionary. We were getting away with this since + many popular form writers seem to copy it to the field as well, + even though the spec makes no mention of doing this. To support + this, QPDFFormFieldObjectHelper::getDefaultResources was added. + 2021-02-25 Jay Berkenbilt * Update StreamDataProvider examples to use copyStream() when they diff --git a/include/qpdf/QPDFFormFieldObjectHelper.hh b/include/qpdf/QPDFFormFieldObjectHelper.hh index edb93df8..6052f2e3 100644 --- a/include/qpdf/QPDFFormFieldObjectHelper.hh +++ b/include/qpdf/QPDFFormFieldObjectHelper.hh @@ -121,12 +121,22 @@ class QPDFFormFieldObjectHelper: public QPDFObjectHelper // the field tree into account. Returns the empty string if the // default appearance string is not available (because it's // erroneously absent or because this is not a variable text - // field). + // field). If not found in the field hierarchy, look in /AcroForm. QPDF_DLL std::string getDefaultAppearance(); + // Return the default resource dictionary for the field. This + // comes not from the field but from the document-level /AcroForm + // dictionary. While several PDF generates put a /DR key in the + // form field's dictionary, experimentation suggests that many + // popular readers, including Adobe Acrobat and Acrobat Reader, + // ignore any /DR item on the field. + QPDF_DLL + QPDFObjectHandle getDefaultResources(); + // Return the quadding value, taking inheritance from the field - // tree into account. Returns 0 if quadding is not specified. + // tree into account. Returns 0 if quadding is not specified. Look + // in /AcroForm if not found in the field hierarchy. QPDF_DLL int getQuadding(); @@ -200,6 +210,7 @@ class QPDFFormFieldObjectHelper: public QPDFObjectHelper void generateAppearance(QPDFAnnotationObjectHelper&); private: + QPDFObjectHandle getFieldFromAcroForm(std::string const& name); void setRadioButtonValue(QPDFObjectHandle name); void setCheckBoxValue(bool value); void generateTextAppearance(QPDFAnnotationObjectHelper&); diff --git a/libqpdf/QPDFFormFieldObjectHelper.cc b/libqpdf/QPDFFormFieldObjectHelper.cc index 6933cb54..c88934a8 100644 --- a/libqpdf/QPDFFormFieldObjectHelper.cc +++ b/libqpdf/QPDFFormFieldObjectHelper.cc @@ -62,6 +62,24 @@ QPDFFormFieldObjectHelper::getTopLevelField(bool* is_different) return QPDFFormFieldObjectHelper(top_field); } +QPDFObjectHandle +QPDFFormFieldObjectHelper::getFieldFromAcroForm(std::string const& name) +{ + QPDFObjectHandle result = QPDFObjectHandle::newNull(); + // Fields are supposed to be indirect, so this should work. + QPDF* q = this->oh.getOwningQPDF(); + if (! q) + { + return result; + } + auto acroform = q->getRoot().getKey("/AcroForm"); + if (! acroform.isDictionary()) + { + return result; + } + return acroform.getKey(name); +} + QPDFObjectHandle QPDFFormFieldObjectHelper::getInheritableFieldValue(std::string const& name) { @@ -203,20 +221,47 @@ QPDFFormFieldObjectHelper::getDefaultValueAsString() return getInheritableFieldValueAsString("/DV"); } +QPDFObjectHandle +QPDFFormFieldObjectHelper::getDefaultResources() +{ + return getFieldFromAcroForm("/DR"); +} + std::string QPDFFormFieldObjectHelper::getDefaultAppearance() { - return getInheritableFieldValueAsString("/DA"); + auto value = getInheritableFieldValue("/DA"); + bool looked_in_acroform = false; + if (! value.isString()) + { + value = getFieldFromAcroForm("/DA"); + looked_in_acroform = true; + } + std::string result; + if (value.isString()) + { + QTC::TC("qpdf", "QPDFFormFieldObjectHelper DA present", + looked_in_acroform ? 0 : 1); + result = value.getUTF8Value(); + } + return result; } int QPDFFormFieldObjectHelper::getQuadding() { - int result = 0; QPDFObjectHandle fv = getInheritableFieldValue("/Q"); + bool looked_in_acroform = false; + if (! fv.isInteger()) + { + fv = getFieldFromAcroForm("/Q"); + looked_in_acroform = true; + } + int result = 0; if (fv.isInteger()) { - QTC::TC("qpdf", "QPDFFormFieldObjectHelper Q present"); + QTC::TC("qpdf", "QPDFFormFieldObjectHelper Q present", + looked_in_acroform ? 0 : 1); result = QIntC::to_int(fv.getIntValue()); } return result; @@ -920,7 +965,7 @@ QPDFFormFieldObjectHelper::generateTextAppearance( QPDFObjectHandle font = getFontFromResource(resources, font_name); if (! font.isInitialized()) { - QPDFObjectHandle dr = getInheritableFieldValue("/DR"); + QPDFObjectHandle dr = getDefaultResources(); font = getFontFromResource(dr, font_name); } if (font.isInitialized() && diff --git a/libqpdf/QPDFPageDocumentHelper.cc b/libqpdf/QPDFPageDocumentHelper.cc index 048319f5..74b21e82 100644 --- a/libqpdf/QPDFPageDocumentHelper.cc +++ b/libqpdf/QPDFPageDocumentHelper.cc @@ -148,8 +148,7 @@ QPDFPageDocumentHelper::flattenAnnotationsForPage( "/Resources", as_resources.shallowCopy()); as_resources = as.getDict().getKey("/Resources"); } - as_resources.mergeResources( - ff.getInheritableFieldValue("/DR")); + as_resources.mergeResources(ff.getDefaultResources()); } else { diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml index 7efbf938..703ba7a4 100644 --- a/manual/qpdf-manual.xml +++ b/manual/qpdf-manual.xml @@ -5061,7 +5061,7 @@ print "\n"; --> - XXX 10.2.1: Month dd, YYYY + XXX 10.3.0: Month dd, YYYY @@ -5081,6 +5081,16 @@ print "\n"; rarely used method call. + + + Fix form field handling code to look for default + appearances, quadding, and default resources in the right + places. The code was not looking for things in the + document-level interactive form dictionary that it was + supposed to be finding there. This required adding a few new + methods to QPDFFormFieldObjectHelper. + + diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 8d0607e3..eaa2c6c3 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -337,7 +337,8 @@ QPDFFormFieldObjectHelper TU present 0 QPDFFormFieldObjectHelper TM present 0 QPDFFormFieldObjectHelper TU absent 0 QPDFFormFieldObjectHelper TM absent 0 -QPDFFormFieldObjectHelper Q present 0 +QPDFFormFieldObjectHelper Q present 1 +QPDFFormFieldObjectHelper DA present 1 QPDFAnnotationObjectHelper AS present 0 QPDFAnnotationObjectHelper AS absent 0 QPDFAnnotationObjectHelper AP stream 0 diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test index a8a2357e..c8c841e3 100644 --- a/qpdf/qtest/qpdf.test +++ b/qpdf/qtest/qpdf.test @@ -335,6 +335,7 @@ my @form_tests = ( 'form-filled-with-atril', 'form-bad-fields-array', 'form-errors', + 'form-document-defaults', ); $n_tests += scalar(@form_tests) + 6; diff --git a/qpdf/qtest/qpdf/form-document-defaults.pdf b/qpdf/qtest/qpdf/form-document-defaults.pdf new file mode 100644 index 00000000..114fb62d --- /dev/null +++ b/qpdf/qtest/qpdf/form-document-defaults.pdf @@ -0,0 +1,2439 @@ +%PDF-1.4 +% +%QDF-1.0 + +1 0 obj +<< + /AcroForm << + /DA (0.18039 0.20392 0.21176 rg /F2 12 Tf) + /DR 3 0 R + /Fields [ + 4 0 R + 5 0 R + 6 0 R + 7 0 R + 8 0 R + 9 0 R + 10 0 R + ] + /Q 1 + /NeedAppearances true + >> + /Lang (en-US) + /OpenAction [ + 11 0 R + /XYZ + null + null + 0 + ] + /Pages 12 0 R + /Type /Catalog +>> +endobj + +2 0 obj +<< + /CreationDate (D:20180620163028-04'00') + /Creator + /Producer +>> +endobj + +3 0 obj +<< + /Font 13 0 R + /ProcSet [ + /PDF + /Text + ] +>> +endobj + +4 0 obj +<< + /Kids [ 83 0 R ] + /DA (0.18039 0.20392 0.21176 rg /F2 12 Tf) + /DV + /FT /Tx + /T (Text Box 1) + /V +>> +endobj + +5 0 obj +<< + /DV /1 + /FT /Btn + /Ff 49152 + /Kids [ + 16 0 R + 17 0 R + 18 0 R + ] + /P 11 0 R + /T (r1) + /V /1 +>> +endobj + +6 0 obj +<< + /AP << + /N << + /Off 19 0 R + /Yes 21 0 R + >> + >> + /AS /Off + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /DV /Off + /F 4 + /FT /Btn + /MK << + /CA (8) + >> + /P 11 0 R + /Rect [ + 121.9 + 559.1 + 134.2 + 571 + ] + /Subtype /Widget + /T (Check Box 1) + /Type /Annot + /V /Off +>> +endobj + +7 0 obj +<< + /AP << + /N << + /Off 24 0 R + /Yes 26 0 R + >> + >> + /AS /Yes + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /DV /Yes + /F 4 + /FT /Btn + /MK << + /CA (8) + >> + /P 11 0 R + /Rect [ + 118.6 + 527.7 + 130.9 + 539.6 + ] + /Subtype /Widget + /T (Check Box 2) + /Type /Annot + /V /Yes +>> +endobj + +8 0 obj +<< + /AP << + /N << + /Off 28 0 R + /Yes 30 0 R + >> + >> + /AS /Off + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /DV /Off + /F 4 + /FT /Btn + /MK << + /CA (8) + >> + /P 11 0 R + /Rect [ + 118.6 + 500.5 + 130.9 + 512.4 + ] + /Subtype /Widget + /T (Check Box 3) + /Type /Annot + /V /Off +>> +endobj + +9 0 obj +<< + /DV /2 + /FT /Btn + /Ff 49152 + /Kids [ + 32 0 R + 33 0 R + 34 0 R + ] + /P 35 0 R + /T (r2) + /V /2 +>> +endobj + +10 0 obj +<< + /AP << + /N 36 0 R + >> + /DR << + /Font 13 0 R + >> + /DV + /F 4 + /FT /Tx + /P 35 0 R + /Rect [ + 113.6 + 378.5 + 351.3 + 396.3 + ] + /Subtype /Widget + /T (Text Box 2) + /Type /Annot + /V +>> +endobj + +%% Page 1 +11 0 obj +<< + /Annots [ + 83 0 R + 16 0 R + 17 0 R + 18 0 R + 6 0 R + 7 0 R + 8 0 R + ] + /Contents 38 0 R + /Group << + /CS /DeviceRGB + /I true + /S /Transparency + >> + /MediaBox [ + 0 + 0 + 611.971653543307 + 791.971653543307 + ] + /Parent 12 0 R + /Resources 3 0 R + /Type /Page +>> +endobj + +12 0 obj +<< + /Count 3 + /Kids [ + 11 0 R + 40 0 R + 35 0 R + ] + /MediaBox [ + 0 + 0 + 611 + 791 + ] + /Resources 3 0 R + /Type /Pages +>> +endobj + +13 0 obj +<< + /F1 41 0 R + /F2 42 0 R + /F3 43 0 R + /ZaDi 23 0 R +>> +endobj + +14 0 obj +<< + /BBox [ + 0 + 0 + 137.3 + 14.8 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 15 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +15 0 obj +12 +endobj + +16 0 obj +<< + /AP << + /N << + /1 44 0 R + /Off 46 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /P 11 0 R + /Parent 5 0 R + /Rect [ + 149.3 + 648.5 + 161.6 + 660.4 + ] + /Subtype /Widget + /T (choice1) + /TM (choice 1 TM) + /TU + /Type /Annot +>> +endobj + +17 0 obj +<< + /AP << + /N << + /2 48 0 R + /Off 50 0 R + >> + >> + /AS /Off + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /P 11 0 R + /Parent 5 0 R + /Rect [ + 152.7 + 627.3 + 165 + 639.2 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +18 0 obj +<< + /AP << + /N << + /3 52 0 R + /Off 54 0 R + >> + >> + /AS /Off + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /P 11 0 R + /Parent 5 0 R + /Rect [ + 151.3 + 601.7 + 163.6 + 613.6 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +19 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 20 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +20 0 obj +12 +endobj + +21 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 22 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +1.9 1.9 Td (8) Tj +ET +Q +EMC +endstream +endobj + +22 0 obj +81 +endobj + +23 0 obj +<< + /BaseFont /ZapfDingbats + /Subtype /Type1 + /Type /Font +>> +endobj + +24 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 25 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +25 0 obj +12 +endobj + +26 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 27 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +1.9 1.9 Td (8) Tj +ET +Q +EMC +endstream +endobj + +27 0 obj +81 +endobj + +28 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 29 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +29 0 obj +12 +endobj + +30 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 31 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +1.9 1.9 Td (8) Tj +ET +Q +EMC +endstream +endobj + +31 0 obj +81 +endobj + +32 0 obj +<< + /AP << + /N << + /1 56 0 R + /Off 58 0 R + >> + >> + /AS /Off + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /P 35 0 R + /Parent 9 0 R + /Rect [ + 118.6 + 555.7 + 130.9 + 567.6 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +33 0 obj +<< + /AP << + /N << + /2 60 0 R + /Off 62 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /P 35 0 R + /Parent 9 0 R + /Rect [ + 119.3 + 514.8 + 131.6 + 526.7 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +34 0 obj +<< + /AP << + /N << + /3 64 0 R + /Off 66 0 R + >> + >> + /AS /Off + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 23 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /P 35 0 R + /Parent 9 0 R + /Rect [ + 121.3 + 472.5 + 133.6 + 484.4 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +%% Page 3 +35 0 obj +<< + /Annots [ + 32 0 R + 33 0 R + 34 0 R + 10 0 R + ] + /Contents 68 0 R + /Group << + /CS /DeviceRGB + /I true + /S /Transparency + >> + /MediaBox [ + 0 + 0 + 611.971653543307 + 791.971653543307 + ] + /Parent 12 0 R + /Resources 3 0 R + /Type /Page +>> +endobj + +36 0 obj +<< + /BBox [ + 0 + 0 + 237.5 + 18 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 37 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +37 0 obj +12 +endobj + +%% Contents for page 1 +38 0 obj +<< + /Length 39 0 R +>> +stream +0.1 w +q 0 0 612 792 re +W* n +q 0 0 0 rg +BT +56.8 725.1 Td /F1 12 Tf[<01>1<0203>1<04>-8<03>1<05>58<06>-2<0708>2<09070a0b0408>2(\f)]TJ +ET +Q +q 0 0 0 rg +BT +56.8 695.6 Td /F1 12 Tf[(\r)68<03>1<0e0f>-5<0710>-1<11>2<03>1<12>2<130707070707>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 666.2 Td /F1 12 Tf[<14>-2<0f>2<0203>1<04>-8<0706>-2<0f>2<15>8(\n)16<0a16>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 450.3 Td /F1 12 Tf[<17>-2<1306>-2<18>1<130a18>1<06>-2<130a>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 424.9 Td /F1 12 Tf[<0203>1<0403>-6<05>58<06>-2<0706>6<0b08>-5<03>1<0708>2<0b0403>-6<0706>-2<0f>2<15>8(\n)16<0a0718>1(\n)-8<0f>2<03>1<04>58<16>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 399.5 Td /F1 12 Tf[<19071a03>1<03>1<13>-7<0718>1<1a0b0f>2<0203>1<04>-8<071b18>1<1c03>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 386.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 374.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 361.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 348.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 336 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 323.3 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 310.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 297.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 285.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 272.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 259.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 247.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 234.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 221.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 209 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 196.3 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 183.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 170.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 158.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 145.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 132.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 120.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 107.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 94.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 82 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 69.3 Td /F1 12 Tf<1d>Tj +ET +Q +0 0 0 RG +1 1 1 rg +120.5 689 143.3 20.8 re B* +148.2 642.5 183.5 23.9 re f* +q 1.2 w 0 0 0 RG +155.4 660.4 m 158.7 660.4 161.4 657.8 161.4 654.4 c +161.4 651.1 158.7 648.4 155.4 648.4 c +152 648.4 149.4 651.1 149.4 654.4 c +149.4 657.8 152 660.4 155.4 660.4 c s + Q +q 166.2 642.5 164.3 23.9 re W* n +q 0.18039 0.20392 0.21176 rg +BT +166.2 651.3 Td /F3 12 Tf[<0102>-1<0304>]TJ +ET +Q +Q +1 1 1 rg +151.6 624.7 125.5 17.1 re f* +q 1.2 w 0 0 0 RG +158.8 639.2 m 162.1 639.2 164.8 636.6 164.8 633.2 c +164.8 629.9 162.1 627.2 158.8 627.2 c +155.4 627.2 152.8 629.9 152.8 633.2 c +152.8 636.6 155.4 639.2 158.8 639.2 c s + Q +q 169.6 624.7 106.3 17.1 re W* n +q 0.18039 0.20392 0.21176 rg +BT +169.6 630.1 Td /F3 12 Tf[<0102>-1<0305>]TJ +ET +Q +Q +1 1 1 rg +150.2 600.8 118.7 13.7 re f* +q 1.2 w 0 0 0 RG +157.4 613.6 m 160.8 613.6 163.5 611 163.5 607.6 c +163.5 604.3 160.8 601.6 157.4 601.6 c +154.1 601.6 151.4 604.3 151.4 607.6 c +151.4 611 154.1 613.6 157.4 613.6 c s + Q +q 168.3 600.8 99.5 13.7 re W* n +q 0.18039 0.20392 0.21176 rg +BT +168.3 604.5 Td /F3 12 Tf[<0102>-1<0306>]TJ +ET +Q +Q +1 1 1 rg +120.8 549 86.7 32.1 re f* +q 1.2 w 0 0 0 RG +122 559 12.1 12.1 re S + Q +q 138.9 549 67.5 32.1 re W* n +q 0.18039 0.20392 0.21176 rg +BT +138.9 562 Td /F3 12 Tf[<07>-2(\b)-1(\t)-1<060a0b>2(\f\r)-1<0e>]TJ +ET +Q +Q +1 1 1 rg +117.5 523.1 85.3 21.2 re f* +q 1.2 w 0 0 0 RG +118.7 527.6 12.1 12.1 re S + Q +q 135.5 523.1 66.1 21.2 re W* n +q 0.18039 0.20392 0.21176 rg +BT +135.5 530.6 Td /F3 12 Tf[<07>-2(\b)-1(\t)-1<060a0b>2(\f\r)-1<0e0b>2<0f>]TJ +ET +Q +Q +1 1 1 rg +117.5 497.9 72.4 17.1 re f* +q 1.2 w 0 0 0 RG +118.7 500.4 12.1 12.1 re S + Q +q 135.5 497.9 53.2 17.1 re W* n +q 0.18039 0.20392 0.21176 rg +BT +135.5 503.3 Td /F3 12 Tf[<07>-2(\b)-1(\t)-1<060a0b>2(\f\r)-1<0e0b>2<10>]TJ +ET +Q +Q +Q +endstream +endobj + +%QDF: ignore_newline +39 0 obj +3700 +endobj + +%% Page 2 +40 0 obj +<< + /Contents 70 0 R + /Group << + /CS /DeviceRGB + /I true + /S /Transparency + >> + /MediaBox [ + 0 + 0 + 611.971653543307 + 791.971653543307 + ] + /Parent 12 0 R + /Resources 3 0 R + /Type /Page +>> +endobj + +41 0 obj +<< + /BaseFont /BAAAAA+LiberationSerif + /FirstChar 0 + /FontDescriptor 72 0 R + /LastChar 33 + /Subtype /TrueType + /ToUnicode 73 0 R + /Type /Font + /Widths [ + 777 + 943 + 500 + 443 + 333 + 333 + 389 + 250 + 777 + 500 + 333 + 500 + 443 + 610 + 500 + 277 + 556 + 277 + 277 + 500 + 722 + 500 + 250 + 722 + 443 + 333 + 500 + 500 + 500 + 722 + 722 + 500 + 610 + 556 + ] +>> +endobj + +42 0 obj +<< + /BaseFont /LiberationSans + /Encoding /WinAnsiEncoding + /FirstChar 32 + /FontDescriptor 75 0 R + /LastChar 255 + /Subtype /TrueType + /Type /Font + /Widths [ + 277 + 277 + 354 + 556 + 556 + 889 + 666 + 190 + 333 + 333 + 389 + 583 + 277 + 333 + 277 + 277 + 556 + 556 + 556 + 556 + 556 + 556 + 556 + 556 + 556 + 556 + 277 + 277 + 583 + 583 + 583 + 556 + 1015 + 666 + 666 + 722 + 722 + 666 + 610 + 777 + 722 + 277 + 500 + 666 + 556 + 833 + 722 + 777 + 666 + 777 + 722 + 666 + 610 + 722 + 666 + 943 + 666 + 666 + 610 + 277 + 277 + 277 + 469 + 556 + 333 + 556 + 556 + 500 + 556 + 556 + 277 + 556 + 556 + 222 + 222 + 500 + 222 + 833 + 556 + 556 + 556 + 556 + 333 + 500 + 277 + 556 + 500 + 722 + 500 + 500 + 500 + 333 + 259 + 333 + 583 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 277 + 333 + 556 + 556 + 556 + 556 + 259 + 556 + 333 + 736 + 370 + 556 + 583 + 333 + 736 + 552 + 399 + 548 + 333 + 333 + 333 + 576 + 537 + 333 + 333 + 333 + 365 + 556 + 833 + 833 + 833 + 610 + 666 + 666 + 666 + 666 + 666 + 666 + 1000 + 722 + 666 + 666 + 666 + 666 + 277 + 277 + 277 + 277 + 722 + 722 + 777 + 777 + 777 + 777 + 777 + 583 + 777 + 722 + 722 + 722 + 722 + 666 + 666 + 610 + 556 + 556 + 556 + 556 + 556 + 556 + 889 + 500 + 556 + 556 + 556 + 556 + 277 + 277 + 277 + 277 + 556 + 556 + 556 + 556 + 556 + 556 + 556 + 548 + 610 + 556 + 556 + 556 + 556 + 500 + 556 + 500 + ] +>> +endobj + +43 0 obj +<< + /BaseFont /DAAAAA+LiberationSans + /FirstChar 0 + /FontDescriptor 76 0 R + /LastChar 22 + /Subtype /TrueType + /ToUnicode 77 0 R + /Type /Font + /Widths [ + 750 + 333 + 556 + 333 + 556 + 556 + 500 + 722 + 556 + 556 + 500 + 277 + 666 + 556 + 500 + 556 + 556 + 777 + 556 + 277 + 222 + 556 + 556 + ] +>> +endobj + +44 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 45 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +0 0 Td +ET +Q +0.18039 0.20392 0.21176 rg +6 8.4 m 7.3 8.4 8.4 7.4 8.4 6 c +8.4 4.7 7.3 3.6 6 3.6 c +4.6 3.6 3.6 4.7 3.6 6 c +3.6 7.4 4.6 8.4 6 8.4 c f* + +EMC +endstream +endobj + +45 0 obj +205 +endobj + +46 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 47 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +47 0 obj +12 +endobj + +48 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 49 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +0 0 Td +ET +Q +0.18039 0.20392 0.21176 rg +6 8.4 m 7.3 8.4 8.4 7.4 8.4 6 c +8.4 4.7 7.3 3.6 6 3.6 c +4.6 3.6 3.6 4.7 3.6 6 c +3.6 7.4 4.6 8.4 6 8.4 c f* + +EMC +endstream +endobj + +49 0 obj +205 +endobj + +50 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 51 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +51 0 obj +12 +endobj + +52 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 53 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +0 0 Td +ET +Q +0.18039 0.20392 0.21176 rg +6 8.4 m 7.4 8.4 8.5 7.4 8.5 6 c +8.5 4.7 7.4 3.6 6 3.6 c +4.7 3.6 3.6 4.7 3.6 6 c +3.6 7.4 4.7 8.4 6 8.4 c f* + +EMC +endstream +endobj + +53 0 obj +205 +endobj + +54 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 55 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +55 0 obj +12 +endobj + +56 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 57 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +0 0 Td +ET +Q +0.18039 0.20392 0.21176 rg +6 8.4 m 7.3 8.4 8.4 7.4 8.4 6 c +8.4 4.7 7.3 3.6 6 3.6 c +4.6 3.6 3.6 4.7 3.6 6 c +3.6 7.4 4.6 8.4 6 8.4 c f* + +EMC +endstream +endobj + +57 0 obj +205 +endobj + +58 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 59 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +59 0 obj +12 +endobj + +60 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 61 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +0 0 Td +ET +Q +0.18039 0.20392 0.21176 rg +6 8.4 m 7.3 8.4 8.4 7.4 8.4 6 c +8.4 4.7 7.3 3.6 6 3.6 c +4.6 3.6 3.6 4.7 3.6 6 c +3.6 7.4 4.6 8.4 6 8.4 c f* + +EMC +endstream +endobj + +61 0 obj +205 +endobj + +62 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 63 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +63 0 obj +12 +endobj + +64 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 65 0 R +>> +stream +/Tx BMC +q BT +0.18039 0.20392 0.21176 rg /ZaDi 12.1 Tf +0 0 Td +ET +Q +0.18039 0.20392 0.21176 rg +6 8.4 m 7.3 8.4 8.4 7.4 8.4 6 c +8.4 4.7 7.3 3.6 6 3.6 c +4.6 3.6 3.6 4.7 3.6 6 c +3.6 7.4 4.6 8.4 6 8.4 c f* + +EMC +endstream +endobj + +65 0 obj +205 +endobj + +66 0 obj +<< + /BBox [ + 0 + 0 + 12.1 + 12.1 + ] + /Resources 3 0 R + /Subtype /Form + /Type /XObject + /Length 67 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +67 0 obj +12 +endobj + +%% Contents for page 3 +68 0 obj +<< + /Length 69 0 R +>> +stream +0.1 w +q 0 0 612 792 re +W* n +q 0 0 0 rg +BT +56.8 725.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 712.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 699.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 687 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 648.9 Td /F1 12 Tf[<1e>-2<0b1d>-2<0719070218>1<1f03>1<0718>1<070f>2<02>-7<11>2<0413071b18>1<1c03>1<16>-7<0720>2<03>1<0f>2<05>58<06>-2<071b150f>-5<0706>-2<0f>2<150a>16<0a070203>1<0403>1<070f>2<0b0b16>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 382.2 Td /F1 12 Tf[(!)-1<0b0f>2<18>1<0f>2<0b>]TJ +ET +Q +1 1 1 rg +117.5 546.2 169.2 30.8 re f* +q 1.2 w 0 0 0 RG +124.7 567.6 m 128 567.6 130.7 565 130.7 561.6 c +130.7 558.3 128 555.6 124.7 555.6 c +121.3 555.6 118.7 558.3 118.7 561.6 c +118.7 565 121.3 567.6 124.7 567.6 c s + Q +q 135.5 546.2 150 30.8 re W* n +q 0.18039 0.20392 0.21176 rg +BT +135.5 558.5 Td /F3 12 Tf[<11>2<12>-1<13>2<14>-2(\r)-1<15>-1<0b>2<0c16>-1<13>2<13>2(\r)-1<15>]TJ +ET +Q +Q +1 1 1 rg +118.2 505.3 180.7 30.8 re f* +q 1.2 w 0 0 0 RG +125.4 526.7 m 128.7 526.7 131.4 524.1 131.4 520.7 c +131.4 517.4 128.7 514.7 125.4 514.7 c +122 514.7 119.4 517.4 119.4 520.7 c +119.4 524.1 122 526.7 125.4 526.7 c s + Q +q 136.2 505.3 161.5 30.8 re W* n +q 0.18039 0.20392 0.21176 rg +BT +136.2 517.6 Td /F3 12 Tf[<11>2<12>-1<13>2<14>-2(\r)-1<15>-1<0b>2<0c16>-1<13>2<13>2(\r)-1<15>-1<0b>2<0f>]TJ +ET +Q +Q +1 1 1 rg +120.2 461.7 139.2 33.5 re f* +q 1.2 w 0 0 0 RG +127.4 484.4 m 130.7 484.4 133.4 481.8 133.4 478.4 c +133.4 475.1 130.7 472.4 127.4 472.4 c +124 472.4 121.4 475.1 121.4 478.4 c +121.4 481.8 124 484.4 127.4 484.4 c s + Q +q 138.2 461.7 120 33.5 re W* n +q 0.18039 0.20392 0.21176 rg +BT +138.2 475.3 Td /F3 12 Tf[<11>2<12>-1<13>2<14>-2(\r)-1<15>-1<0b>2<0c16>-1<13>2<13>2(\r)-1<15>-1<0b>2<10>]TJ +ET +Q +Q +0 0 0 RG +1 1 1 rg +110.7 375.4 243.5 24 re B* +Q +endstream +endobj + +%QDF: ignore_newline +69 0 obj +1753 +endobj + +%% Contents for page 2 +70 0 obj +<< + /Length 71 0 R +>> +stream +0.1 w +q 0 0 612 792 re +W* n +q 0 0 0 rg +BT +56.8 725.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 699.7 Td /F1 12 Tf[(\r)2<0203>1<04>-8<03>1<0718>1<0403>-6<071a0b070a11>2<03>1<12>2<1306>-2<070b1a070f>2<0211>2<06>-10<071b18>1<1c03>1<16>]TJ +ET +Q +q 0 0 0 rg +BT +56.8 674.3 Td /F1 12 Tf<01>Tj +ET +Q +q 0 0 0 rg +BT +56.8 661.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 648.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 636.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 623.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 610.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 598.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 585.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 572.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 560 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 547.3 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 534.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 521.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 509.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 496.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 483.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 471.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 458.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 445.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 433 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 420.3 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 407.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 394.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 382.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 369.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 356.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 344.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 331.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 318.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 306 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 293.3 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 280.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 267.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 255.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 242.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 229.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 217.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 204.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 191.7 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 179 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 166.3 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 153.6 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 140.9 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 128.2 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 115.5 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 102.8 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 90.1 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 77.4 Td /F1 12 Tf<1d>Tj +ET +Q +q 0 0 0 rg +BT +56.8 64.7 Td /F1 12 Tf<1d>Tj +ET +Q +Q +endstream +endobj + +%QDF: ignore_newline +71 0 obj +2634 +endobj + +72 0 obj +<< + /Ascent 891 + /CapHeight 981 + /Descent -216 + /Flags 4 + /FontBBox [ + -543 + -303 + 1277 + 981 + ] + /FontFile2 79 0 R + /FontName /BAAAAA+LiberationSerif + /ItalicAngle 0 + /StemV 80 + /Type /FontDescriptor +>> +endobj + +73 0 obj +<< + /Length 74 0 R +>> +stream +/CIDInit/ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo<< +/Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName/Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<00> +endcodespacerange +33 beginbfchar +<01> <0057> +<02> <0068> +<03> <0065> +<04> <0072> +<05> <2019> +<06> <0073> +<07> <0020> +<08> <006D> +<09> <0079> +<0A> <0066> +<0B> <006F> +<0C> <003F> +<0D> <0054> +<0E> <0078> +<0F> <0074> +<10> <0046> +<11> <0069> +<12> <006C> +<13> <0064> +<14> <004F> +<15> <0075> +<16> <002E> +<17> <0041> +<18> <0061> +<19> <0049> +<1A> <006E> +<1B> <0070> +<1C> <0067> +<1D> <0077> +<1E> <004E> +<1F> <0076> +<20> <004C> +<21> <0050> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +endstream +endobj + +74 0 obj +714 +endobj + +75 0 obj +<< + /Ascent 905 + /CapHeight 979 + /Descent -211 + /Flags 4 + /FontBBox [ + -543 + -303 + 1300 + 979 + ] + /FontName /LiberationSans + /ItalicAngle 0 + /StemV 80 + /Type /FontDescriptor +>> +endobj + +76 0 obj +<< + /Ascent 905 + /CapHeight 979 + /Descent -211 + /Flags 4 + /FontBBox [ + -543 + -303 + 1300 + 979 + ] + /FontFile2 81 0 R + /FontName /DAAAAA+LiberationSans + /ItalicAngle 0 + /StemV 80 + /Type /FontDescriptor +>> +endobj + +77 0 obj +<< + /Length 78 0 R +>> +stream +/CIDInit/ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo<< +/Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName/Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<00> +endcodespacerange +22 beginbfchar +<01> <0072> +<02> <0031> +<03> <002D> +<04> <0061> +<05> <0062> +<06> <0063> +<07> <0043> +<08> <0068> +<09> <0065> +<0A> <006B> +<0B> <0020> +<0C> <0042> +<0D> <006F> +<0E> <0078> +<0F> <0032> +<10> <0033> +<11> <004F> +<12> <0070> +<13> <0074> +<14> <0069> +<15> <006E> +<16> <0075> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +endstream +endobj + +78 0 obj +582 +endobj + +79 0 obj +<< + /Length1 17240 + /Length 80 0 R +>> +stream +true @cmapcvt =O;fpgm\glyfX h&|head026hheahy3$hmtx }3@locan&3Fmaxp9X4 name?H40 vpostd$? prepLb?  +  !H=p=L]FPiuiPZZP`PPm{1o1MffJf/^tFF<}Shv= }JAl +T/HjgaAU )% 42$ +U4Kan_=m +{dN@G[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! + , `E% Fa#E#aH-, EhD-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, +C#Ce +-, + C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe +-, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,CRX!!!!!F#F`F# F`ab# # pE` PXaFY`h:Y-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BYYYYYYCTX@ +@@ @  CTX@   CRX@ @@ @Y@U@cUZX  YYYBBBBB-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> +#eB #B#?#? #eB#B-,CPCT[X!# Y-,Y+-,-=O@  + + H  +_Y @ + H dVfVF6&ipdpdT@4$P@09pO/]]]]]]]qqqqqrrrrrr^]]_]]]]]]]qqqqqqqqqqqqrr_rrrrr^]]]]]]]]]]]qqqq?3333+3?3+3333/3/3+993310# #'5! 3 '5!^55Du?i-\0ud 55O^55@y   PY PY RY9p`P@0 p`@p`]]]]]]]qqqqqrrrrrrrrrr^]]]]q?+33?3+333?+99333310>32!574#"!57'5!FH?z|rk}^dw2h.)<--^---PF@ZPY  PY QY p`P>P@0 qqqrrrrr^]]]]]]]]]?+?+9/_^]+993333103267#"&463 "!4&=g600Vοiho\P 8.fR)Q@-  PY + PY +_@qrr?+3?+?333_^]3992310#'"!57'5!>3+:22Bww <<nB-- -u2\DR@y Y[ `hp?P`/8P/^]]]]]]qqqqqrr^]]]]]]qqqqrrr^]]]]]]q?3++9333105654&'&54632埒%DD5=R*M8p #@69WT(Y@4! )* !PY PY*p*`*P* **_*O*]]]qqqqq?3+?3+9999333310#"&'533254/.54632#'&#"ӱF0-1Kx™Ye\2g/*5rQUMNZ?#Dz4!DcF|m/PD9N2.CV+1@ !((--! 321.PY1(! -+-PY+ RY '%RYv3V363$333333333b3P3D303$333h3333t3@343$33333333d3P3D343$333333333k3;3 3338333`3T3@343333333t@+3T3@343333333p3P333^]]]]]]_]]qqqqqqqqqqqrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrr^]]]]]]_]]]]]]]qqqqqq?+33?+33?33+33333?+93333310>32>32!574#"!574&#"!57'5!FK@EuMDyUEE?BUUXVww`+:49+B--X + 6A--XSY-- -F@      PYQYtfVt`PB2$htfTF2"rbRD4&tbRD4&8r@WfTF2$tdPD4pO^]]]]]]]_]]qqqqqqqqqqqqr_rrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]qqqq?2+?3+33333_^]3993310"'5332>7'5!'5!NL/!74XI7`^bA`tF`54&#"#563 #"&54632PVNjpR#B9ME34EF32F^Ny1+ 1HH13FE%=<@     `Y _Y?_? kpOo_@0_0;_O0p_0 p?/]]]]]]]]]]qqqqqqqqqrrrrrrrr^]]]]]]qqqqqqqqqqqrrrrrrrr^]]]]]]]]qq?+3?+33/_^]39310!57#"#!#'.+;3]CDx15; k5@e   +@adH$4Dd $D +9$d$!H@*H@0   PY   PY ?3+333?39+333_^]_]++qr^]qr+933333310%!57 !57 '5!'5! V}m5o}ЁRl5---M------.-G@' + PY  QY?/]]]r?+3?33+39922310"&5#5?33#327N`_{}e?;0:S#rg-'TABA;)=@ `Y_o-  `Y _Y _Ytdt`TDtdT@0 9q_qrrrrr^]]]]]]]]]]]]]]qqqqqqqqrrrrrrr?+3?++9/_^]_]]+9333310!57'5!#'&+!73#'B p==Z555Ѡd+L @f  SY@PY PY9p`P@P p`P@]]]]]]]qqqqqqqrrrr_rr^]]?+3?+_^]+933310#"&54632!57'5!{@-,@@,-@ ++,@@,-@@:-- -) @p + PY PY      t d $   9   p ` P @    P      p ` P @ ]]]]]]]qqqqqqrrrr_rrr^]]]]]]]]]]]?+3?+910%!57'5!oFF---J@O PY PYPYQYGP@0 @` ]]]]qqqrrrrr^]?+33?+?+?+99333310%# 432&='5!!327&# qloDtqZYrFZ!--;'TsL 6@  _Y _Y?@ qq^]?+?+99331032#"! ! %DL"CA]@_   PYRY  PY 9@0 p`@p` ]]]]]]qqqqrrrrr^]]]]q?+?3+3?3+39933310327'5!!'#"'5!9|l3wG?x --L'9f-y @   [?+9310%#"&54632yE44EF33F\1HH13FFH_@   `Y _Y +tdTD4$tdTD4$9tTD4$pP@0 pPO]]]]]]]]qqqqqqqqqq_qqrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqq?3+333?339/3+.3939939910%!573!57!!Gɾ۪ɴ55555}huHq%m@?%% '&%" +"QYPY  +PYPY'_'@'']qrr?+?+?39/_^]+9+393333102!'#"4>?54&#"#563267њurIGJdS"8_Dc2~-^r^{Aa\/u#^nJb=  @ _Y_Y  p d T D         T D 4 $        p ` T D 0 $   ;    t d D 4       ` P 0       ]]]]qqqqqqqq_qqrrrrrrrrr^]]]]]]]]]]]]]]]qqqqqqqqqrrrrrrrrr?+3?+3910%!57'5!謬P5555/@} PY PY +RY9tdTD4$p`@p`]]]]]]]qqqqq_qrrrrrrrrrr^]]]]q?+33?3+333?+99333310>32!574&#"!57'5!DM:z|rk}QUZjqq `,9--XS_-- -!L!@Q + +"#PY PY QYPY@###90####`#@###`#?#]]]]qqqqqr^]]r?+?3+3?+?+3993333310'5!>32#"'!574&#"32k*Iqf@wd}uNYjf-7$,H)//N!XF'4@@,//>8( &# AB5PY++ +&# + +  ;PY 2PYBBBBtBdBTBDB4B$BBBBBBBBBBtBdBTBDB$BBBBBBBBBBBdBDB4B$BBB9BBBBBBdBTBDB4B$BBBBBBBtBdBTB@B4B BBBB@"BBBBBBBpB`B0B B]]]]]]]]]]]]qq_qqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqqqqrrrrrrrrrrrr?+?+99//933+9333333310#"'3!2#"&5467.57&5463274&#!3262654&#"f¶RF?H6uH`9Nú%t#C)FG*5|m[^hib`tiUvm5gE\5Jٚ +o+Kl9@$o0VK|u}qrx@ + + H  +PY @ + H TD$tD0$dT9T@0 `P@0 p_ ]]]]]]]qqqqqqrrrr_rrrr^]]]]]qqqqqqqqqrrrrr?3333+3?3+3333/3+993310# #'5!3'5!NJoT՚fhlz--e--;=W@0 _Y  _Y ?@ ]]qr^]?33+3?33+3399333310'5!#!57'5!ɬaŴ755555o@  PY  tdTD4$tdTD4$tdTD4$9tdTD4$tdTD0 p`]]_]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrr?33^]?3+333993310#'5! '5!-J}`\Zz--w--;h=8@   _Y _Y `Y tfVF&vfTF&vfTD2 9d4p@0 pP@]]]]]]]]qqqqqqqqq_rrrrrrrr^]]]_]]]]]]]]]]]qqqqqqqqqqqrrrrrrrrrrr?+3/_^]+?+399310!273!57'5!wd>A嬬<h55;!=@ + + `Y `Y_Y + _Y o/oO?/o_8/?^]]]]]]qqqqrr^]]]]]]qqqqqqqrrrrr?+3?++9/+99333104&+326!57'5! #ZbhN˟B555u&_<DF!EW"9P)T9+?Nj%9s;9+9)JTHJ/!X;;s;^"$H ` F +\ + 4 ~  \ .">"A/\nVVfmz/ C +nQ  . 5 > X   $ 62  h    (  + 8 \  j j 4 Digitized data copyright (c) 2010 Google Corporation. +Copyright (c) 2012 Red Hat, Inc.Liberation SerifRegularAscender - Liberation SerifLiberation SerifVersion 2.00.2LiberationSerifLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationSteve MattesonBased on Tinos, which was designed by Steve Matteson as an innovative, refreshing serif design that is metrically compatible with Times New Roman. Tinos offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms.http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlLicensed under the SIL Open Font License, Version 1.1http://scripts.sil.org/OFLDigitized data copyright (c) 2010 Google Corporation. +Copyright (c) 2012 Red Hat, Inc.Liberation SerifRegularAscender - Liberation SerifLiberation SerifVersion 2.00.2LiberationSerifLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationSteve MattesonBased on Tinos, which was designed by Steve Matteson as an innovative, refreshing serif design that is metrically compatible with Times New Roman!". Tinos offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms.http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlLicensed under the SIL Open Font License, Version 1.1http://scripts.sil.org/OFL!d PAbehg`N_UA=@U@BUC=BU.==>U<=;U;?;O;;;>U0=/U/>U-=,U,,>U?=>UJHUGHUF=EUEHUI=HU`?@ P)O_0P`p + 8=U=U<0P݀ݰU 0p/O`P`/.G' FOL=NAMMM/MOMoMMLL/L@8_ +{pvvsP)on+nG*3U3U@Ib%(F`_@_P)[Z0ZG)3UU3U?OoRPQPPP@P FOO/O@eK!(F`JpJJIF)HG8GG/GGGG_GGFFF@F)/F@F!FHU3UU3UU3U/_?TS++KRKP[%S@QZUZ[XYBK2SX`YKdSX@YKSXBYsst++++++++sstu++s+u+t++^s++++++++++++++ssssssst+++s+++sssssss+ss++s^s+++^s^s^s^ssss+sssssssss+++++++s++++s++++++++s^ +endstream +endobj + +%QDF: ignore_newline +80 0 obj +17240 +endobj + +81 0 obj +<< + /Length1 11088 + /Length 82 0 R +>> +stream +true @cmapU=8Hcvt K&fpgm\hglyfQe hheadAI.6hheae$hmtx4SZloca,%<0maxpg/l name R ^post*' prepI( C  + }y:wW~j`jy"3kkk{Rni`[^^eoz iq4 HjgaAh@G[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! + , `E% Fa#E#aH-, EhD-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, +C#Ce +-, + C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe +-, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,CRX!!!!!F#F`F# F`ab# # pE` PXaFY`h:Y-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BYYYYYYCTX@ +@@ @  CTX@   CRX@ @@ @Y@U@cUZX  YYYBBBBB-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> +#eB #B#?#? #eB#B-,CPCT[X!# Y-,Y+-,-2@  ?/993310!!!eL5N#@  +???3399331034'33>32&#"+pf$%$r%f + + ++@ tY?+3?33/39331035!5%3!gMW<[Op@Y//]q+99105![РWsN#0@V )).21QY )QY?o  PY$PY2222p2`2P2022]qqqqqqqq?+?+3/_^]q9/+9?+93333310"&546?54&#"'!2327#"&'#'2>=pxyn .*;!DGd[EZcYF_;rRZ$.PQpip|gZSY0dQX`#]@7  $%PY +!PY%?%%p%%%%%]]]qqqrr?+???+9999333310!"&'##6533>324&#"326r{32zxy"Yc +6YAXhZWNf@E  PY p`p  + +PY +]?+3/_^]q?3/]+9333103267#"32.#"`ri"hl Zjhy^@9  _Y@P  _Y  ]?+3/_^]?+3/_^]933310"3 #"$5!2.(WɣlB.G1%NIQ~<{`@; PYp]]]]]]]qqrrr?+?39?9933310>32#4.#"#3=:}*`Ujc/ro4~= +WNw@F PY  PY PY p`P0qqqqqqqqq?+?+9/_^]+9/93333103267!"3 '.#"uaݺ^H-  @g  + +   ?  ? _   ? _  9 @SVH`   `   0 @  +????9^]qqr+^]qr93323993310!#33 0Ima / h@:  _Y$M>_Y_Y?+?+9/_^]_]_q++993333910#!! 4&#!!264)!26AQs}rbBsVN +H@, PYPYp`P0]qqqqqqq?+?+993310#"!24&#"326꽅!0: T@  +  v D T d 6 $         v d   & F V g F V  d V D 6 $      & 6 F 7f  @6=BH9 "       t ` T @ 4   @"H   P p  +?3?393^]_]+qqqqqqqqqqr_rr+r^]]]qqqqqqqqr^]]]]]]]]]qqqqqqq9333333310! # 3 3 ! D,[g >@   sYtY?+9?+3993331035>54&#"'>32!g3Oys Ksu||Vt}qɹR^FN(c@9" "%)*%tYMMsY sY?3+?+39/_^]+++99333310#"&'7!2654&+532654&#"'>32$fbw 뗐srqzoŰa0@ _Y _Y ]]?+?+993310#"$5!2#"32שŦrJ< MR},-WM$]@7 &%PY "PY&?&&p&&&&&]]]qqqrr?+???+9999333310!"'##4'33>324&#"326rV0ƽzky?{"ʼY61fd]Z*,E@$   PY    @PY]?+?_^]3+393332310%#"5#53733#327*Y]}5x3?$D҃UN?=n@H SY       p         O  ]qqqqqqqrrrrrrrrrr?+??933310533 :Na@< + +PY  +p]]]]]]]qqrrr?2??+99933310!4.#"#4'33>329*\Y>ykv4S*,9Op]/:_@;  PY  p]]]]]]]qqrrr?2??+3993331032653#.'##"&5:*\Y>y:Rkv4s*,9Op]_<@W>NCs[sWsWhssW9VsVsgsN9as9s&X0X||6N +rZ1/\nWWfmz, @ +iN  . 56 P   4* ^ |   (  + 8 \ j R 4 Digitized data copyright (c) 2010 Google Corporation. +Copyright (c) 2012 Red Hat, Inc.Liberation SansRegularAscender - Liberation SansLiberation SansVersion 2.00.2LiberationSansLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationSteve MattesonBased on Arimo, which was designed by Steve Matteson as an innovative, refreshing sans serif design that is metrically compatible with Arial. Arimo offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms.http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlLicensed under the SIL Open Font License, Version 1.1http://scripts.sil.org/OFLDigitized data copyright (c) 2010 Google Corporation. +Copyright (c) 2012 Red Hat, Inc.Liberation SansRegularAscender - Liberation SansLiberation SansVersion 2.00.2LiberationSansLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationSteve MattesonBased on Arimo, which was designed by Steve Matteson as an innovative, refreshing sans serif design that is metrically compatible with Arial!". Arimo offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms.http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlLicensed under the SIL Open Font License, Version 1.1http://scripts.sil.org/OFL'A! ?9U>9UB@A@;3:U839U@@ +O P(F(F*F+_O_ F@FF@36FFUHU2UUHU=UU=U@F<P&(Pp@2F?Oop?а/?Э/?ЪO/o$PoF0@pЏO_oF1ts?sP&on<nF5U3U3U`P&_P&\F1[ZHZF12UU2Ul <Ll|Q@dQ@Q58F@Q%(FPIF HF5GF5FFFF2UU2UU?_/Oo?oOTS++KRKP[%S@QZUZ[XYBK2SX`YKdSX@YKSXBYststu+++++stu+++t++ssu+++++++++++++++++s+tstusts++tus+stsststtsts^sstssss+ss+++s+tu+++++++++++++t++^s++^st++++ss^ssssss++++++^ +endstream +endobj + +%QDF: ignore_newline +82 0 obj +11088 +endobj + +83 0 obj +<< + /AP << + /N 14 0 R + >> + /DR << + /Font 13 0 R + >> + /F 4 + /P 11 0 R + /Rect [ + 123.4 + 692.1 + 260.9 + 706.7 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +xref +0 84 +0000000000 65535 f +0000000025 00000 n +0000000381 00000 n +0000000566 00000 n +0000000639 00000 n +0000000778 00000 n +0000000909 00000 n +0000001290 00000 n +0000001673 00000 n +0000002056 00000 n +0000002187 00000 n +0000002503 00000 n +0000002826 00000 n +0000002987 00000 n +0000003064 00000 n +0000003231 00000 n +0000003251 00000 n +0000003683 00000 n +0000004039 00000 n +0000004397 00000 n +0000004563 00000 n +0000004583 00000 n +0000004818 00000 n +0000004838 00000 n +0000004919 00000 n +0000005085 00000 n +0000005105 00000 n +0000005340 00000 n +0000005360 00000 n +0000005526 00000 n +0000005546 00000 n +0000005781 00000 n +0000005801 00000 n +0000006159 00000 n +0000006515 00000 n +0000006883 00000 n +0000007176 00000 n +0000007341 00000 n +0000007384 00000 n +0000011163 00000 n +0000011195 00000 n +0000011428 00000 n +0000011885 00000 n +0000013801 00000 n +0000014169 00000 n +0000014528 00000 n +0000014549 00000 n +0000014715 00000 n +0000014735 00000 n +0000015094 00000 n +0000015115 00000 n +0000015281 00000 n +0000015301 00000 n +0000015660 00000 n +0000015681 00000 n +0000015847 00000 n +0000015867 00000 n +0000016226 00000 n +0000016247 00000 n +0000016413 00000 n +0000016433 00000 n +0000016792 00000 n +0000016813 00000 n +0000016979 00000 n +0000016999 00000 n +0000017358 00000 n +0000017379 00000 n +0000017545 00000 n +0000017588 00000 n +0000019420 00000 n +0000019465 00000 n +0000022178 00000 n +0000022200 00000 n +0000022443 00000 n +0000023214 00000 n +0000023235 00000 n +0000023450 00000 n +0000023692 00000 n +0000024331 00000 n +0000024352 00000 n +0000041688 00000 n +0000041711 00000 n +0000052895 00000 n +0000052918 00000 n +trailer << + /DocChecksum /74403ED4C05B5A117BE5EAA1AB10833F + /Info 2 0 R + /Root 1 0 R + /Size 84 + /ID [<63de8a5127491f4853d18b7b50b1b2d2>] +>> +startxref +53107 +%%EOF diff --git a/qpdf/qtest/qpdf/form-filled-by-acrobat-out.pdf b/qpdf/qtest/qpdf/form-filled-by-acrobat-out.pdf index 5202d76e..7f99bcab 100644 --- a/qpdf/qtest/qpdf/form-filled-by-acrobat-out.pdf +++ b/qpdf/qtest/qpdf/form-filled-by-acrobat-out.pdf @@ -1880,6 +1880,10 @@ endobj /F3 31 0 R /ZaDi 32 0 R >> + /ProcSet [ + /PDF + /Text + ] /XObject << /RMIm0 60 0 R >> @@ -2115,14 +2119,14 @@ xref 0000020927 00000 n 0000021229 00000 n 0000021249 00000 n -0000021661 00000 n -0000021681 00000 n -0000021896 00000 n -0000039232 00000 n -0000039255 00000 n -0000050439 00000 n -0000050462 00000 n -0000245345 00000 n +0000021705 00000 n +0000021725 00000 n +0000021940 00000 n +0000039276 00000 n +0000039299 00000 n +0000050483 00000 n +0000050506 00000 n +0000245389 00000 n trailer << /DocChecksum /74403ED4C05B5A117BE5EAA1AB10833F /Info 2 0 R @@ -2131,5 +2135,5 @@ trailer << /ID [<31415926535897932384626433832795>] >> startxref -245369 +245413 %%EOF diff --git a/qpdf/qtest/qpdf/form-form-document-defaults.out b/qpdf/qtest/qpdf/form-form-document-defaults.out new file mode 100644 index 00000000..555e7898 --- /dev/null +++ b/qpdf/qtest/qpdf/form-form-document-defaults.out @@ -0,0 +1,241 @@ +iterating over form fields +Field: 4 0 R + Parent: none + Fully qualified name: Text Box 1 + Partial name: Text Box 1 + Alternative name: Text Box 1 + Mapping name: Text Box 1 + Field type: /Tx + Value: + Value as string: + Default value: + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /F2 12 Tf + Quadding: 1 + Annotation: 83 0 R +Field: 6 0 R + Parent: none + Fully qualified name: Check Box 1 + Partial name: Check Box 1 + Alternative name: Check Box 1 + Mapping name: Check Box 1 + Field type: /Btn + Value: /Off + Value as string: + Default value: /Off + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 6 0 R +Field: 7 0 R + Parent: none + Fully qualified name: Check Box 2 + Partial name: Check Box 2 + Alternative name: Check Box 2 + Mapping name: Check Box 2 + Field type: /Btn + Value: /Yes + Value as string: + Default value: /Yes + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 7 0 R +Field: 8 0 R + Parent: none + Fully qualified name: Check Box 3 + Partial name: Check Box 3 + Alternative name: Check Box 3 + Mapping name: Check Box 3 + Field type: /Btn + Value: /Off + Value as string: + Default value: /Off + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 8 0 R +Field: 10 0 R + Parent: none + Fully qualified name: Text Box 2 + Partial name: Text Box 2 + Alternative name: Text Box 2 + Mapping name: Text Box 2 + Field type: /Tx + Value: + Value as string: salad πʬ + Default value: + Default value as string: salad πʬ + Default appearance: 0.18039 0.20392 0.21176 rg /F2 12 Tf + Quadding: 1 + Annotation: 10 0 R +Field: 16 0 R + Parent: 5 0 R + Parent: none + Fully qualified name: r1.choice1 + Partial name: choice1 + Alternative name: chice 1 + Mapping name: choice 1 TM + Field type: /Btn + Value: /1 + Value as string: + Default value: /1 + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 16 0 R +Field: 17 0 R + Parent: 5 0 R + Parent: none + Fully qualified name: r1 + Partial name: + Alternative name: r1 + Mapping name: r1 + Field type: /Btn + Value: /1 + Value as string: + Default value: /1 + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 17 0 R +Field: 18 0 R + Parent: 5 0 R + Parent: none + Fully qualified name: r1 + Partial name: + Alternative name: r1 + Mapping name: r1 + Field type: /Btn + Value: /1 + Value as string: + Default value: /1 + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 18 0 R +Field: 32 0 R + Parent: 9 0 R + Parent: none + Fully qualified name: r2 + Partial name: + Alternative name: r2 + Mapping name: r2 + Field type: /Btn + Value: /2 + Value as string: + Default value: /2 + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 32 0 R +Field: 33 0 R + Parent: 9 0 R + Parent: none + Fully qualified name: r2 + Partial name: + Alternative name: r2 + Mapping name: r2 + Field type: /Btn + Value: /2 + Value as string: + Default value: /2 + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 33 0 R +Field: 34 0 R + Parent: 9 0 R + Parent: none + Fully qualified name: r2 + Partial name: + Alternative name: r2 + Mapping name: r2 + Field type: /Btn + Value: /2 + Value as string: + Default value: /2 + Default value as string: + Default appearance: 0.18039 0.20392 0.21176 rg /ZaDi 0 Tf + Quadding: 1 + Annotation: 34 0 R +iterating over annotations per page +Page: 11 0 R + Annotation: 83 0 R + Field: 4 0 R + Subtype: /Widget + Rect: [123.4, 692.1, 260.9, 706.7] + Appearance stream (/N): 14 0 R + Appearance stream (/N, /3): null + Annotation: 16 0 R + Field: 16 0 R + Subtype: /Widget + Rect: [149.3, 648.5, 161.6, 660.4] + Appearance state: /1 + Appearance stream (/N): 44 0 R + Appearance stream (/N, /3): null + Annotation: 17 0 R + Field: 17 0 R + Subtype: /Widget + Rect: [152.7, 627.3, 165, 639.2] + Appearance state: /Off + Appearance stream (/N): 50 0 R + Appearance stream (/N, /3): null + Annotation: 18 0 R + Field: 18 0 R + Subtype: /Widget + Rect: [151.3, 601.7, 163.6, 613.6] + Appearance state: /Off + Appearance stream (/N): 54 0 R + Appearance stream (/N, /3): 52 0 R + Annotation: 6 0 R + Field: 6 0 R + Subtype: /Widget + Rect: [121.9, 559.1, 134.2, 571] + Appearance state: /Off + Appearance stream (/N): 19 0 R + Appearance stream (/N, /3): null + Annotation: 7 0 R + Field: 7 0 R + Subtype: /Widget + Rect: [118.6, 527.7, 130.9, 539.6] + Appearance state: /Yes + Appearance stream (/N): 26 0 R + Appearance stream (/N, /3): null + Annotation: 8 0 R + Field: 8 0 R + Subtype: /Widget + Rect: [118.6, 500.5, 130.9, 512.4] + Appearance state: /Off + Appearance stream (/N): 28 0 R + Appearance stream (/N, /3): null +Page: 40 0 R +Page: 35 0 R + Annotation: 32 0 R + Field: 32 0 R + Subtype: /Widget + Rect: [118.6, 555.7, 130.9, 567.6] + Appearance state: /Off + Appearance stream (/N): 58 0 R + Appearance stream (/N, /3): null + Annotation: 33 0 R + Field: 33 0 R + Subtype: /Widget + Rect: [119.3, 514.8, 131.6, 526.7] + Appearance state: /2 + Appearance stream (/N): 60 0 R + Appearance stream (/N, /3): null + Annotation: 34 0 R + Field: 34 0 R + Subtype: /Widget + Rect: [121.3, 472.5, 133.6, 484.4] + Appearance state: /Off + Appearance stream (/N): 66 0 R + Appearance stream (/N, /3): 64 0 R + Annotation: 10 0 R + Field: 10 0 R + Subtype: /Widget + Rect: [113.6, 378.5, 351.3, 396.3] + Appearance stream (/N): 36 0 R + Appearance stream (/N, /3): null +test 43 done diff --git a/qpdf/qtest/qpdf/sample-form-out.pdf b/qpdf/qtest/qpdf/sample-form-out.pdf index ee3f2754..892b4a15 100644 --- a/qpdf/qtest/qpdf/sample-form-out.pdf +++ b/qpdf/qtest/qpdf/sample-form-out.pdf @@ -1489,6 +1489,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1553,6 +1556,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1617,6 +1623,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1660,6 +1669,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1712,6 +1724,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1763,6 +1778,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1814,6 +1832,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1865,6 +1886,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -1999,12 +2023,29 @@ endobj 0 ] /Resources << + /Encoding << + /PDFDocEncoding 41 0 R + >> + /ExtGState << + /FXE1 42 0 R + >> /Font << + /ArialMT 26 0 R + /F2 24 0 R + /F3 26 0 R + /FXF1 26 0 R + /Helv 29 0 R /ZaDi 13 0 R >> /ProcSet [ /PDF + /Text + /ImageC + /ImageI + /ImageB ] + /XObject << + >> >> /Subtype /Form /Type /XObject @@ -2041,6 +2082,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -2100,6 +2144,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -2164,6 +2211,9 @@ endobj /Encoding << /PDFDocEncoding 41 0 R >> + /ExtGState << + /FXE1 42 0 R + >> /Font << /ArialMT 26 0 R /F2 24 0 R @@ -2752,13 +2802,12 @@ endobj >> stream   -    !"#$%&'BPbPStUUXXZZ[[]]__aacce e f}fgh jj1lqlnnn@l   -* -> - +    !"#$%&'BPbPStUUX\XpZZ\\^^``cc&e=ePflfggjcjwllo5oIq^qq{  +0 +\ p   .  endstream endobj startxref -68352 +69104 %%EOF