diff --git a/ChangeLog b/ChangeLog index 3d593dff..26cbd5fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-06-21 Jay Berkenbilt + * Create examples/pdf-set-form-values.cc to illustrate use of + interactive form helpers. + * Added methods QPDFAcroFormDocumentHelper::setNeedAppearances and added methods to QPDFFormFieldObjectHelper to set a field's value, optionally updating the document to indicate that appearance diff --git a/examples/build.mk b/examples/build.mk index b5748c11..031601ff 100644 --- a/examples/build.mk +++ b/examples/build.mk @@ -8,7 +8,8 @@ BINS_examples = \ pdf-parse-content \ pdf-split-pages \ pdf-filter-tokens \ - pdf-count-strings + pdf-count-strings \ + pdf-set-form-values CBINS_examples = pdf-linearize TARGETS_examples = $(foreach B,$(BINS_examples) $(CBINS_examples),examples/$(OUTPUT_DIR)/$(call binname,$(B))) diff --git a/examples/pdf-set-form-values.cc b/examples/pdf-set-form-values.cc new file mode 100644 index 00000000..41e84d88 --- /dev/null +++ b/examples/pdf-set-form-values.cc @@ -0,0 +1,108 @@ +#include +#include +#include +#include +#include +#include +#include + +static char const* whoami = 0; + +void usage() +{ + std::cerr << "Usage: " << whoami << " infile.pdf outfile.pdf value" + << std::endl + << "Set the value of all text fields to a specified value" + << std::endl; + exit(2); +} + + +int main(int argc, char* argv[]) +{ + whoami = QUtil::getWhoami(argv[0]); + + // For libtool's sake.... + if (strncmp(whoami, "lt-", 3) == 0) + { + whoami += 3; + } + + if (argc != 4) + { + usage(); + } + + char const* infilename = argv[1]; + char const* outfilename = argv[2]; + char const* value = argv[3]; + + // This is a contrived example that just goes through a file page + // by page and sets the value of any text fields it finds to a + // fixed value as given on the command line. The purpose here is + // to illustrate use of the helper classes around interactive + // forms. + + try + { + QPDF qpdf; + qpdf.processFile(infilename); + + // We will iterate through form fields by starting at the page + // level and looking at each field for each page. We could + // also called QPDFAcroFormDocumentHelper::getFormFields to + // iterate at the field level, but doing it as below + // illustrates how we can map from annotations to fields. + + QPDFAcroFormDocumentHelper afdh(qpdf); + QPDFPageDocumentHelper pdh(qpdf); + std::vector pages = pdh.getAllPages(); + for (std::vector::iterator page_iter = + pages.begin(); + page_iter != pages.end(); ++page_iter) + { + // Get all widget annotations for each page. Widget + // annotations are the ones that contain the details of + // what's in a form field. + std::vector annotations = + afdh.getWidgetAnnotationsForPage(*page_iter); + for (std::vector::iterator annot_iter = + annotations.begin(); + annot_iter != annotations.end(); ++annot_iter) + { + // For each annotation, find its associated field. If + // it's a text field, set its value. This will + // automatically update the document to indicate that + // appearance streams need to be regenerated. At the + // time of this writing, qpdf doesn't have any helper + // code to assist with appearance stream generation, + // though there's nothing that prevents it from being + // possible. + QPDFFormFieldObjectHelper ffh = + afdh.getFieldForAnnotation(*annot_iter); + if (ffh.getFieldType() == "/Tx") + { + // Set the value. This will automatically set + // /NeedAppearances to true. If you don't want to + // do that, pass false as the second argument. For + // details see comments in + // QPDFFormFieldObjectHelper.hh. + ffh.setV(value); + } + } + } + + // Write out a new file + QPDFWriter w(qpdf, outfilename); + w.setStaticID(true); // for testing only + w.write(); + } + catch (std::exception &e) + { + std::cerr << whoami << " processing file " << infilename << ": " + << e.what() << std::endl; + exit(2); + } + + return 0; +} diff --git a/examples/qtest/set-form-values.test b/examples/qtest/set-form-values.test new file mode 100644 index 00000000..92f1cef1 --- /dev/null +++ b/examples/qtest/set-form-values.test @@ -0,0 +1,28 @@ +#!/usr/bin/env perl +require 5.008; +BEGIN { $^W = 1; } +use strict; + +chdir("set-form-values"); + +require TestDriver; + +my $td = new TestDriver('pdf-set-form-values'); + +cleanup(); + +$td->runtest("set form values", + {$td->COMMAND => "pdf-set-form-values form-in.pdf a.pdf soup"}, + {$td->STRING => "", $td->EXIT_STATUS => 0}); +$td->runtest("compare files", + {$td->FILE => "a.pdf"}, + {$td->FILE => "form-out.pdf"}); + +cleanup(); + +$td->report(2); + +sub cleanup +{ + unlink("a.pdf"); +} diff --git a/examples/qtest/set-form-values/form-in.pdf b/examples/qtest/set-form-values/form-in.pdf new file mode 100644 index 00000000..a463c88f --- /dev/null +++ b/examples/qtest/set-form-values/form-in.pdf @@ -0,0 +1,2428 @@ +%PDF-1.4 +% +%QDF-1.0 + +1 0 obj +<< + /AcroForm << + /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 + ] + /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 +<< + /AP << + /N 14 0 R + >> + /DA (0.18039 0.20392 0.21176 rg /F2 12 Tf) + /DR << + /Font 13 0 R + >> + /DV + /F 4 + /FT /Tx + /P 11 0 R + /Rect [ + 123.4 + 692.1 + 260.9 + 706.7 + ] + /Subtype /Widget + /T (Text Box 1) + /Type /Annot + /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 + >> + /DA (0.18039 0.20392 0.21176 rg /F2 12 Tf) + /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 [ + 4 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 + /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 + +xref +0 83 +0000000000 65535 f +0000000025 00000 n +0000000325 00000 n +0000000510 00000 n +0000000583 00000 n +0000000869 00000 n +0000001000 00000 n +0000001381 00000 n +0000001764 00000 n +0000002147 00000 n +0000002278 00000 n +0000002639 00000 n +0000002961 00000 n +0000003122 00000 n +0000003199 00000 n +0000003366 00000 n +0000003386 00000 n +0000003742 00000 n +0000004098 00000 n +0000004456 00000 n +0000004622 00000 n +0000004642 00000 n +0000004877 00000 n +0000004897 00000 n +0000004978 00000 n +0000005144 00000 n +0000005164 00000 n +0000005399 00000 n +0000005419 00000 n +0000005585 00000 n +0000005605 00000 n +0000005840 00000 n +0000005860 00000 n +0000006218 00000 n +0000006574 00000 n +0000006942 00000 n +0000007235 00000 n +0000007400 00000 n +0000007443 00000 n +0000011222 00000 n +0000011254 00000 n +0000011487 00000 n +0000011944 00000 n +0000013860 00000 n +0000014228 00000 n +0000014587 00000 n +0000014608 00000 n +0000014774 00000 n +0000014794 00000 n +0000015153 00000 n +0000015174 00000 n +0000015340 00000 n +0000015360 00000 n +0000015719 00000 n +0000015740 00000 n +0000015906 00000 n +0000015926 00000 n +0000016285 00000 n +0000016306 00000 n +0000016472 00000 n +0000016492 00000 n +0000016851 00000 n +0000016872 00000 n +0000017038 00000 n +0000017058 00000 n +0000017417 00000 n +0000017438 00000 n +0000017604 00000 n +0000017647 00000 n +0000019479 00000 n +0000019524 00000 n +0000022237 00000 n +0000022259 00000 n +0000022502 00000 n +0000023273 00000 n +0000023294 00000 n +0000023509 00000 n +0000023751 00000 n +0000024390 00000 n +0000024411 00000 n +0000041747 00000 n +0000041770 00000 n +0000052954 00000 n +trailer << + /DocChecksum /74403ED4C05B5A117BE5EAA1AB10833F + /Info 2 0 R + /Root 1 0 R + /Size 83 + /ID [<63de8a5127491f4853d18b7b50b1b2d2>] +>> +startxref +52977 +%%EOF diff --git a/examples/qtest/set-form-values/form-out.pdf b/examples/qtest/set-form-values/form-out.pdf new file mode 100644 index 00000000..011cb05b Binary files /dev/null and b/examples/qtest/set-form-values/form-out.pdf differ