├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── README.md ├── code-boxx-logo.png ├── example.php └── invlib ├── DOCX ├── apple.php ├── banana.php ├── blueberry.php ├── lime.php ├── simple.php └── strawberry.php ├── HTML ├── apple.css ├── apple.php ├── banana.css ├── banana.php ├── blueberry.css ├── blueberry.php ├── lime.css ├── lime.php ├── simple.css ├── simple.php ├── strawberry.css └── strawberry.php ├── PDF ├── apple.php ├── banana.php ├── blueberry.php ├── lime.php ├── simple.php └── strawberry.php ├── html2canvas.min.js ├── invoicr.php └── vendor ├── autoload.php ├── composer ├── ClassLoader.php ├── InstalledVersions.php ├── LICENSE ├── autoload_classmap.php ├── autoload_files.php ├── autoload_namespaces.php ├── autoload_psr4.php ├── autoload_real.php ├── autoload_static.php ├── installed.json ├── installed.php └── platform_check.php ├── mpdf ├── mpdf │ ├── .github │ │ ├── CONTRIBUTING.md │ │ ├── FUNDING.yml │ │ ├── ISSUE_TEMPLATE │ │ │ ├── 01_bug_report.yml │ │ │ ├── 02_feature_request.yml │ │ │ └── config.yml │ │ ├── SECURITY.md │ │ └── workflows │ │ │ ├── coverage.yml │ │ │ ├── cs.yml │ │ │ └── tests.yml │ ├── .gitignore │ ├── CHANGELOG.md │ ├── CREDITS.txt │ ├── LICENSE.txt │ ├── README.md │ ├── composer.json │ ├── data │ │ ├── CJKdata.php │ │ ├── collations │ │ │ ├── Afrikaans_South_Africa.php │ │ │ ├── Albanian_Albania.php │ │ │ ├── Alsatian_France.php │ │ │ ├── Arabic_Algeria.php │ │ │ ├── Arabic_Bahrain.php │ │ │ ├── Arabic_Egypt.php │ │ │ ├── Arabic_Iraq.php │ │ │ ├── Arabic_Jordan.php │ │ │ ├── Arabic_Kuwait.php │ │ │ ├── Arabic_Lebanon.php │ │ │ ├── Arabic_Libya.php │ │ │ ├── Arabic_Morocco.php │ │ │ ├── Arabic_Oman.php │ │ │ ├── Arabic_Pseudo_RTL.php │ │ │ ├── Arabic_Qatar.php │ │ │ ├── Arabic_Saudi_Arabia.php │ │ │ ├── Arabic_Syria.php │ │ │ ├── Arabic_Tunisia.php │ │ │ ├── Arabic_Yemen.php │ │ │ ├── Azeri_(Cyrillic)_Azerbaijan.php │ │ │ ├── Azeri_(Latin)_Azerbaijan.php │ │ │ ├── Bashkir_Russia.php │ │ │ ├── Basque_Spain.php │ │ │ ├── Belarusian_Belarus.php │ │ │ ├── Bosnian_(Cyrillic)_Bosnia_and_Herzegovina.php │ │ │ ├── Bosnian_(Latin)_Bosnia_and_Herzegovina.php │ │ │ ├── Breton_France.php │ │ │ ├── Bulgarian_Bulgaria.php │ │ │ ├── Catalan_Spain.php │ │ │ ├── Corsican_France.php │ │ │ ├── Croatian_(Latin)_Bosnia_and_Herzegovina.php │ │ │ ├── Croatian_Croatia.php │ │ │ ├── Czech_Czech_Republic.php │ │ │ ├── Danish_Denmark.php │ │ │ ├── Dari_Afghanistan.php │ │ │ ├── Dutch_Belgium.php │ │ │ ├── Dutch_Netherlands.php │ │ │ ├── English_Australia.php │ │ │ ├── English_Belize.php │ │ │ ├── English_Canada.php │ │ │ ├── English_Caribbean.php │ │ │ ├── English_India.php │ │ │ ├── English_Ireland.php │ │ │ ├── English_Jamaica.php │ │ │ ├── English_Malaysia.php │ │ │ ├── English_New_Zealand.php │ │ │ ├── English_Republic_of_the_Philippines.php │ │ │ ├── English_Singapore.php │ │ │ ├── English_South_Africa.php │ │ │ ├── English_Trinidad_and_Tobago.php │ │ │ ├── English_United_Kingdom.php │ │ │ ├── English_United_States.php │ │ │ ├── English_Zimbabwe.php │ │ │ ├── Estonian_Estonia.php │ │ │ ├── Faroese_Faroe_Islands.php │ │ │ ├── Filipino_Philippines.php │ │ │ ├── Finnish_Finland.php │ │ │ ├── French_Belgium.php │ │ │ ├── French_Canada.php │ │ │ ├── French_France.php │ │ │ ├── French_Luxembourg.php │ │ │ ├── French_Principality_of_Monaco.php │ │ │ ├── French_Switzerland.php │ │ │ ├── Frisian_Netherlands.php │ │ │ ├── Galician_Spain.php │ │ │ ├── German_Austria.php │ │ │ ├── German_Germany.php │ │ │ ├── German_Liechtenstein.php │ │ │ ├── German_Luxembourg.php │ │ │ ├── German_Switzerland.php │ │ │ ├── Greek_Greece.php │ │ │ ├── Greenlandic_Greenland.php │ │ │ ├── Hausa_(Latin)_Nigeria.php │ │ │ ├── Hebrew_Israel.php │ │ │ ├── Hungarian_Hungary.php │ │ │ ├── Icelandic_Iceland.php │ │ │ ├── Igbo_Nigeria.php │ │ │ ├── Indonesian_Indonesia.php │ │ │ ├── Inuktitut_(Latin)_Canada.php │ │ │ ├── Invariant_Language_Invariant_Country.php │ │ │ ├── Irish_Ireland.php │ │ │ ├── Italian_Italy.php │ │ │ ├── Italian_Switzerland.php │ │ │ ├── Kinyarwanda_Rwanda.php │ │ │ ├── Kiswahili_Kenya.php │ │ │ ├── Kyrgyz_Kyrgyzstan.php │ │ │ ├── Latvian_Latvia.php │ │ │ ├── Lithuanian_Lithuania.php │ │ │ ├── Lower_Sorbian_Germany.php │ │ │ ├── Luxembourgish_Luxembourg.php │ │ │ ├── Macedonian_(FYROM)_Macedonia_(FYROM).php │ │ │ ├── Malay_Brunei_Darussalam.php │ │ │ ├── Malay_Malaysia.php │ │ │ ├── Mapudungun_Chile.php │ │ │ ├── Mohawk_Canada.php │ │ │ ├── Mongolian_(Cyrillic)_Mongolia.php │ │ │ ├── Norwegian_(Nynorsk)_Norway.php │ │ │ ├── Occitan_France.php │ │ │ ├── Persian_Iran.php │ │ │ ├── Polish_Poland.php │ │ │ ├── Portuguese_Brazil.php │ │ │ ├── Portuguese_Portugal.php │ │ │ ├── Quechua_Bolivia.php │ │ │ ├── Quechua_Ecuador.php │ │ │ ├── Quechua_Peru.php │ │ │ ├── Romanian_Romania.php │ │ │ ├── Romansh_Switzerland.php │ │ │ ├── Russian_Russia.php │ │ │ ├── Sami_(Inari)_Finland.php │ │ │ ├── Sami_(Lule)_Norway.php │ │ │ ├── Sami_(Lule)_Sweden.php │ │ │ ├── Sami_(Northern)_Finland.php │ │ │ ├── Sami_(Northern)_Norway.php │ │ │ ├── Sami_(Northern)_Sweden.php │ │ │ ├── Sami_(Skolt)_Finland.php │ │ │ ├── Sami_(Southern)_Norway.php │ │ │ ├── Sami_(Southern)_Sweden.php │ │ │ ├── Serbian_(Cyrillic)_Bosnia_and_Herzegovina.php │ │ │ ├── Serbian_(Cyrillic)_Serbia.php │ │ │ ├── Serbian_(Latin)_Bosnia_and_Herzegovina.php │ │ │ ├── Serbian_(Latin)_Serbia.php │ │ │ ├── Sesotho_sa_Leboa_South_Africa.php │ │ │ ├── Setswana_South_Africa.php │ │ │ ├── Slovak_Slovakia.php │ │ │ ├── Slovenian_Slovenia.php │ │ │ ├── Spanish_Argentina.php │ │ │ ├── Spanish_Bolivia.php │ │ │ ├── Spanish_Chile.php │ │ │ ├── Spanish_Colombia.php │ │ │ ├── Spanish_Costa_Rica.php │ │ │ ├── Spanish_Dominican_Republic.php │ │ │ ├── Spanish_Ecuador.php │ │ │ ├── Spanish_El_Salvador.php │ │ │ ├── Spanish_Guatemala.php │ │ │ ├── Spanish_Honduras.php │ │ │ ├── Spanish_Mexico.php │ │ │ ├── Spanish_Nicaragua.php │ │ │ ├── Spanish_Panama.php │ │ │ ├── Spanish_Paraguay.php │ │ │ ├── Spanish_Peru.php │ │ │ ├── Spanish_Puerto_Rico.php │ │ │ ├── Spanish_Spain.php │ │ │ ├── Spanish_United_States.php │ │ │ ├── Spanish_Uruguay.php │ │ │ ├── Spanish_Venezuela.php │ │ │ ├── Swedish_Finland.php │ │ │ ├── Swedish_Sweden.php │ │ │ ├── Tajik_(Cyrillic)_Tajikistan.php │ │ │ ├── Tamazight_(Latin)_Algeria.php │ │ │ ├── Tatar_Russia.php │ │ │ ├── Turkish_Turkey.php │ │ │ ├── Turkmen_Turkmenistan.php │ │ │ ├── Ukrainian_Ukraine.php │ │ │ ├── Upper_Sorbian_Germany.php │ │ │ ├── Urdu_Islamic_Republic_of_Pakistan.php │ │ │ ├── Uzbek_(Cyrillic)_Uzbekistan.php │ │ │ ├── Uzbek_(Latin)_Uzbekistan.php │ │ │ ├── Vietnamese_Vietnam.php │ │ │ ├── Welsh_United_Kingdom.php │ │ │ ├── Wolof_Senegal.php │ │ │ ├── Yakut_Russia.php │ │ │ ├── Yoruba_Nigeria.php │ │ │ ├── isiXhosa_South_Africa.php │ │ │ └── isiZulu_South_Africa.php │ │ ├── entity_substitutions.php │ │ ├── font │ │ │ ├── ccourier.php │ │ │ ├── ccourierb.php │ │ │ ├── ccourierbi.php │ │ │ ├── ccourieri.php │ │ │ ├── chelvetica.php │ │ │ ├── chelveticab.php │ │ │ ├── chelveticabi.php │ │ │ ├── chelveticai.php │ │ │ ├── csymbol.php │ │ │ ├── ctimes.php │ │ │ ├── ctimesb.php │ │ │ ├── ctimesbi.php │ │ │ ├── ctimesi.php │ │ │ └── czapfdingbats.php │ │ ├── iccprofiles │ │ │ └── sRGB_IEC61966-2-1.icc │ │ ├── lang2fonts.css │ │ ├── linebrdictK.dat │ │ ├── linebrdictL.dat │ │ ├── linebrdictT.dat │ │ ├── mpdf.css │ │ ├── no_image.jpg │ │ ├── out.php │ │ ├── patterns │ │ │ ├── NOTES.txt │ │ │ ├── de.php │ │ │ ├── dictionary.txt │ │ │ ├── en.php │ │ │ ├── es.php │ │ │ ├── fi.php │ │ │ ├── fr.php │ │ │ ├── it.php │ │ │ ├── nl.php │ │ │ ├── pl.php │ │ │ ├── ru.php │ │ │ └── sv.php │ │ ├── subs_core.php │ │ ├── subs_win-1252.php │ │ └── upperCase.php │ ├── phpunit.xml │ ├── ruleset.xml │ ├── src │ │ ├── AssetFetcher.php │ │ ├── Barcode.php │ │ ├── Barcode │ │ │ ├── AbstractBarcode.php │ │ │ ├── BarcodeException.php │ │ │ ├── BarcodeInterface.php │ │ │ ├── Codabar.php │ │ │ ├── Code11.php │ │ │ ├── Code128.php │ │ │ ├── Code39.php │ │ │ ├── Code93.php │ │ │ ├── EanExt.php │ │ │ ├── EanUpc.php │ │ │ ├── I25.php │ │ │ ├── Imb.php │ │ │ ├── Msi.php │ │ │ ├── Postnet.php │ │ │ ├── Rm4Scc.php │ │ │ └── S25.php │ │ ├── Cache.php │ │ ├── Color │ │ │ ├── ColorConverter.php │ │ │ ├── ColorModeConverter.php │ │ │ ├── ColorSpaceRestrictor.php │ │ │ └── NamedColors.php │ │ ├── Config │ │ │ ├── ConfigVariables.php │ │ │ └── FontVariables.php │ │ ├── Container │ │ │ ├── ContainerInterface.php │ │ │ ├── NotFoundException.php │ │ │ └── SimpleContainer.php │ │ ├── Conversion │ │ │ ├── DecToAlpha.php │ │ │ ├── DecToCjk.php │ │ │ ├── DecToHebrew.php │ │ │ ├── DecToOther.php │ │ │ └── DecToRoman.php │ │ ├── Css │ │ │ ├── Border.php │ │ │ ├── DefaultCss.php │ │ │ └── TextVars.php │ │ ├── CssManager.php │ │ ├── DirectWrite.php │ │ ├── Exception │ │ │ ├── AssetFetchingException.php │ │ │ ├── FontException.php │ │ │ └── InvalidArgumentException.php │ │ ├── File │ │ │ ├── LocalContentLoader.php │ │ │ ├── LocalContentLoaderInterface.php │ │ │ └── StreamWrapperChecker.php │ │ ├── Fonts │ │ │ ├── FontCache.php │ │ │ ├── FontFileFinder.php │ │ │ ├── GlyphOperator.php │ │ │ └── MetricsGenerator.php │ │ ├── Form.php │ │ ├── FpdiTrait.php │ │ ├── Gif │ │ │ ├── ColorTable.php │ │ │ ├── FileHeader.php │ │ │ ├── Gif.php │ │ │ ├── Image.php │ │ │ ├── ImageHeader.php │ │ │ └── Lzw.php │ │ ├── Gradient.php │ │ ├── HTMLParserMode.php │ │ ├── Http │ │ │ ├── ClientInterface.php │ │ │ ├── CurlHttpClient.php │ │ │ ├── Exception │ │ │ │ ├── ClientException.php │ │ │ │ ├── ForbiddenRequestException.php │ │ │ │ ├── NetworkException.php │ │ │ │ └── RequestException.php │ │ │ └── SocketHttpClient.php │ │ ├── Hyphenator.php │ │ ├── Image │ │ │ ├── Bmp.php │ │ │ ├── ImageProcessor.php │ │ │ ├── ImageTypeGuesser.php │ │ │ ├── Svg.php │ │ │ └── Wmf.php │ │ ├── Language │ │ │ ├── LanguageToFont.php │ │ │ ├── LanguageToFontInterface.php │ │ │ ├── ScriptToLanguage.php │ │ │ └── ScriptToLanguageInterface.php │ │ ├── Log │ │ │ └── Context.php │ │ ├── Mpdf.php │ │ ├── MpdfException.php │ │ ├── MpdfImageException.php │ │ ├── Otl.php │ │ ├── OtlDump.php │ │ ├── Output │ │ │ └── Destination.php │ │ ├── PageBox.php │ │ ├── PageFormat.php │ │ ├── Pdf │ │ │ ├── Protection.php │ │ │ └── Protection │ │ │ │ └── UniqidGenerator.php │ │ ├── ServiceFactory.php │ │ ├── Shaper │ │ │ ├── Indic.php │ │ │ ├── Myanmar.php │ │ │ └── Sea.php │ │ ├── SizeConverter.php │ │ ├── Strict.php │ │ ├── TTFontFile.php │ │ ├── TTFontFileAnalysis.php │ │ ├── TableOfContents.php │ │ ├── Tag.php │ │ ├── Tag │ │ │ ├── A.php │ │ │ ├── Acronym.php │ │ │ ├── Address.php │ │ │ ├── Annotation.php │ │ │ ├── Article.php │ │ │ ├── Aside.php │ │ │ ├── B.php │ │ │ ├── BarCode.php │ │ │ ├── Bdi.php │ │ │ ├── Bdo.php │ │ │ ├── Big.php │ │ │ ├── BlockQuote.php │ │ │ ├── BlockTag.php │ │ │ ├── Bookmark.php │ │ │ ├── Br.php │ │ │ ├── Caption.php │ │ │ ├── Center.php │ │ │ ├── Cite.php │ │ │ ├── Code.php │ │ │ ├── ColumnBreak.php │ │ │ ├── Columns.php │ │ │ ├── Dd.php │ │ │ ├── Del.php │ │ │ ├── Details.php │ │ │ ├── Div.php │ │ │ ├── Dl.php │ │ │ ├── DotTab.php │ │ │ ├── Dt.php │ │ │ ├── Em.php │ │ │ ├── FieldSet.php │ │ │ ├── FigCaption.php │ │ │ ├── Figure.php │ │ │ ├── Font.php │ │ │ ├── Footer.php │ │ │ ├── Form.php │ │ │ ├── FormFeed.php │ │ │ ├── H1.php │ │ │ ├── H2.php │ │ │ ├── H3.php │ │ │ ├── H4.php │ │ │ ├── H5.php │ │ │ ├── H6.php │ │ │ ├── HGroup.php │ │ │ ├── Header.php │ │ │ ├── Hr.php │ │ │ ├── I.php │ │ │ ├── Img.php │ │ │ ├── IndexEntry.php │ │ │ ├── IndexInsert.php │ │ │ ├── InlineTag.php │ │ │ ├── Input.php │ │ │ ├── Ins.php │ │ │ ├── Kbd.php │ │ │ ├── Legend.php │ │ │ ├── Li.php │ │ │ ├── Main.php │ │ │ ├── Mark.php │ │ │ ├── Meter.php │ │ │ ├── Nav.php │ │ │ ├── NewColumn.php │ │ │ ├── NewPage.php │ │ │ ├── Ol.php │ │ │ ├── Option.php │ │ │ ├── P.php │ │ │ ├── PageBreak.php │ │ │ ├── PageFooter.php │ │ │ ├── PageHeader.php │ │ │ ├── Pre.php │ │ │ ├── Progress.php │ │ │ ├── Q.php │ │ │ ├── S.php │ │ │ ├── Samp.php │ │ │ ├── Section.php │ │ │ ├── Select.php │ │ │ ├── SetHtmlPageFooter.php │ │ │ ├── SetHtmlPageHeader.php │ │ │ ├── SetPageFooter.php │ │ │ ├── SetPageHeader.php │ │ │ ├── Small.php │ │ │ ├── Span.php │ │ │ ├── Strike.php │ │ │ ├── Strong.php │ │ │ ├── Sub.php │ │ │ ├── SubstituteTag.php │ │ │ ├── Summary.php │ │ │ ├── Sup.php │ │ │ ├── TBody.php │ │ │ ├── TFoot.php │ │ │ ├── THead.php │ │ │ ├── Table.php │ │ │ ├── Tag.php │ │ │ ├── Td.php │ │ │ ├── TextArea.php │ │ │ ├── TextCircle.php │ │ │ ├── Th.php │ │ │ ├── Time.php │ │ │ ├── Toc.php │ │ │ ├── TocEntry.php │ │ │ ├── TocPageBreak.php │ │ │ ├── Tr.php │ │ │ ├── Tt.php │ │ │ ├── Tta.php │ │ │ ├── Tts.php │ │ │ ├── Ttz.php │ │ │ ├── U.php │ │ │ ├── Ul.php │ │ │ ├── VarTag.php │ │ │ ├── WatermarkImage.php │ │ │ └── WatermarkText.php │ │ ├── Ucdn.php │ │ ├── Utils │ │ │ ├── Arrays.php │ │ │ ├── NumericString.php │ │ │ ├── PdfDate.php │ │ │ └── UtfString.php │ │ ├── Watermark.php │ │ ├── WatermarkImage.php │ │ ├── WatermarkText.php │ │ ├── Writer │ │ │ ├── BackgroundWriter.php │ │ │ ├── BaseWriter.php │ │ │ ├── BookmarkWriter.php │ │ │ ├── ColorWriter.php │ │ │ ├── FontWriter.php │ │ │ ├── FormWriter.php │ │ │ ├── ImageWriter.php │ │ │ ├── JavaScriptWriter.php │ │ │ ├── MetadataWriter.php │ │ │ ├── ObjectWriter.php │ │ │ ├── OptionalContentWriter.php │ │ │ ├── PageWriter.php │ │ │ └── ResourceWriter.php │ │ ├── functions-dev.php │ │ └── functions.php │ ├── tmp │ │ └── .gitignore │ └── ttfonts │ │ ├── AboriginalSansREGULAR.ttf │ │ ├── Abyssinica_SIL.ttf │ │ ├── Aegean.otf │ │ ├── Aegyptus.otf │ │ ├── Akkadian.otf │ │ ├── DBSILBR.ttf │ │ ├── DejaVuSans-Bold.ttf │ │ ├── DejaVuSans-BoldOblique.ttf │ │ ├── DejaVuSans-Oblique.ttf │ │ ├── DejaVuSans.ttf │ │ ├── DejaVuSansCondensed-Bold.ttf │ │ ├── DejaVuSansCondensed-BoldOblique.ttf │ │ ├── DejaVuSansCondensed-Oblique.ttf │ │ ├── DejaVuSansCondensed.ttf │ │ ├── DejaVuSansMono-Bold.ttf │ │ ├── DejaVuSansMono-BoldOblique.ttf │ │ ├── DejaVuSansMono-Oblique.ttf │ │ ├── DejaVuSansMono.ttf │ │ ├── DejaVuSerif-Bold.ttf │ │ ├── DejaVuSerif-BoldItalic.ttf │ │ ├── DejaVuSerif-Italic.ttf │ │ ├── DejaVuSerif.ttf │ │ ├── DejaVuSerifCondensed-Bold.ttf │ │ ├── DejaVuSerifCondensed-BoldItalic.ttf │ │ ├── DejaVuSerifCondensed-Italic.ttf │ │ ├── DejaVuSerifCondensed.ttf │ │ ├── DejaVuinfo.txt │ │ ├── Dhyana-Bold.ttf │ │ ├── Dhyana-Regular.ttf │ │ ├── DhyanaOFL.txt │ │ ├── FreeMono.ttf │ │ ├── FreeMonoBold.ttf │ │ ├── FreeMonoBoldOblique.ttf │ │ ├── FreeMonoOblique.ttf │ │ ├── FreeSans.ttf │ │ ├── FreeSansBold.ttf │ │ ├── FreeSansBoldOblique.ttf │ │ ├── FreeSansOblique.ttf │ │ ├── FreeSerif.ttf │ │ ├── FreeSerifBold.ttf │ │ ├── FreeSerifBoldItalic.ttf │ │ ├── FreeSerifItalic.ttf │ │ ├── GNUFreeFontinfo.txt │ │ ├── Garuda-Bold.ttf │ │ ├── Garuda-BoldOblique.ttf │ │ ├── Garuda-Oblique.ttf │ │ ├── Garuda.ttf │ │ ├── Jomolhari-OFL.txt │ │ ├── Jomolhari.ttf │ │ ├── KhmerOFL.txt │ │ ├── KhmerOS.ttf │ │ ├── Lateef font OFL.txt │ │ ├── LateefRegOT.ttf │ │ ├── Lohit-Kannada.ttf │ │ ├── LohitKannadaOFL.txt │ │ ├── Padauk-book.ttf │ │ ├── Pothana2000.ttf │ │ ├── Quivira.otf │ │ ├── Sun-ExtA.ttf │ │ ├── Sun-ExtB.ttf │ │ ├── SundaneseUnicode-1.0.5.ttf │ │ ├── SyrCOMEdessa.otf │ │ ├── SyrCOMEdessa_license.txt │ │ ├── TaameyDavidCLM-LICENSE.txt │ │ ├── TaameyDavidCLM-Medium.ttf │ │ ├── TaiHeritagePro.ttf │ │ ├── Tharlon-Regular.ttf │ │ ├── TharlonOFL.txt │ │ ├── UnBatang_0613.ttf │ │ ├── Uthman.otf │ │ ├── XB Riyaz.ttf │ │ ├── XB RiyazBd.ttf │ │ ├── XB RiyazBdIt.ttf │ │ ├── XB RiyazIt.ttf │ │ ├── XW Zar Font Info.txt │ │ ├── ZawgyiOne.ttf │ │ ├── ayar.ttf │ │ ├── damase_v.2.ttf │ │ ├── kaputaunicode.ttf │ │ ├── lannaalif-v1-03.ttf │ │ ├── ocrb10.ttf │ │ └── ocrbinfo.txt ├── psr-http-message-shim │ ├── README.md │ ├── composer.json │ └── src │ │ ├── Request.php │ │ ├── Response.php │ │ ├── Stream.php │ │ └── Uri.php └── psr-log-aware-trait │ ├── .gitignore │ ├── README.md │ ├── composer.json │ └── src │ ├── MpdfPsrLogAwareTrait.php │ └── PsrLogAwareTrait.php ├── myclabs └── deep-copy │ ├── .github │ ├── FUNDING.yml │ └── workflows │ │ └── ci.yaml │ ├── LICENSE │ ├── README.md │ ├── composer.json │ └── src │ └── DeepCopy │ ├── DeepCopy.php │ ├── Exception │ ├── CloneException.php │ └── PropertyException.php │ ├── Filter │ ├── ChainableFilter.php │ ├── Doctrine │ │ ├── DoctrineCollectionFilter.php │ │ ├── DoctrineEmptyCollectionFilter.php │ │ └── DoctrineProxyFilter.php │ ├── Filter.php │ ├── KeepFilter.php │ ├── ReplaceFilter.php │ └── SetNullFilter.php │ ├── Matcher │ ├── Doctrine │ │ └── DoctrineProxyMatcher.php │ ├── Matcher.php │ ├── PropertyMatcher.php │ ├── PropertyNameMatcher.php │ └── PropertyTypeMatcher.php │ ├── Reflection │ └── ReflectionHelper.php │ ├── TypeFilter │ ├── Date │ │ └── DateIntervalFilter.php │ ├── ReplaceFilter.php │ ├── ShallowCopyFilter.php │ ├── Spl │ │ ├── ArrayObjectFilter.php │ │ ├── SplDoublyLinkedList.php │ │ └── SplDoublyLinkedListFilter.php │ └── TypeFilter.php │ ├── TypeMatcher │ └── TypeMatcher.php │ └── deep_copy.php ├── paragonie └── random_compat │ ├── LICENSE │ ├── build-phar.sh │ ├── composer.json │ ├── dist │ ├── random_compat.phar.pubkey │ └── random_compat.phar.pubkey.asc │ ├── lib │ └── random.php │ ├── other │ └── build_phar.php │ ├── psalm-autoload.php │ └── psalm.xml ├── phpoffice ├── math │ ├── .github │ │ ├── dependabot.yml │ │ └── workflows │ │ │ ├── deploy.yml │ │ │ └── php.yml │ ├── .gitignore │ ├── .php-cs-fixer.dist.php │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── docs │ │ ├── assets │ │ │ └── mathjax.js │ │ ├── changes │ │ │ └── 0.1.0.md │ │ ├── credits.md │ │ ├── index.md │ │ ├── install.md │ │ └── usage │ │ │ ├── elements │ │ │ ├── fraction.md │ │ │ ├── identifier.md │ │ │ ├── numeric.md │ │ │ ├── operator.md │ │ │ ├── row.md │ │ │ ├── semantics.md │ │ │ └── superscript.md │ │ │ ├── readers.md │ │ │ └── writers.md │ ├── mkdocs.yml │ ├── phpstan.neon.dist │ ├── phpunit.xml.dist │ ├── src │ │ └── Math │ │ │ ├── Element │ │ │ ├── AbstractElement.php │ │ │ ├── AbstractGroupElement.php │ │ │ ├── Fraction.php │ │ │ ├── Identifier.php │ │ │ ├── Numeric.php │ │ │ ├── Operator.php │ │ │ ├── Row.php │ │ │ ├── Semantics.php │ │ │ └── Superscript.php │ │ │ ├── Exception │ │ │ ├── InvalidInputException.php │ │ │ ├── MathException.php │ │ │ └── NotImplementedException.php │ │ │ ├── Math.php │ │ │ ├── Reader │ │ │ ├── MathML.php │ │ │ ├── OfficeMathML.php │ │ │ └── ReaderInterface.php │ │ │ └── Writer │ │ │ ├── MathML.php │ │ │ ├── OfficeMathML.php │ │ │ └── WriterInterface.php │ └── tests │ │ ├── Math │ │ ├── Element │ │ │ ├── AbstractGroupElementTest.php │ │ │ ├── FractionTest.php │ │ │ ├── IdentifierTest.php │ │ │ ├── NumericTest.php │ │ │ ├── OperatorTest.php │ │ │ ├── SemanticsTest.php │ │ │ └── SuperscriptTest.php │ │ ├── Reader │ │ │ ├── MathMLTest.php │ │ │ └── OfficeMathMLTest.php │ │ └── Writer │ │ │ ├── MathMLTest.php │ │ │ ├── OfficeMathMLTest.php │ │ │ └── WriterTestCase.php │ │ └── resources │ │ └── schema │ │ └── mathml3 │ │ ├── mathml3-common.xsd │ │ ├── mathml3-content.xsd │ │ ├── mathml3-presentation.xsd │ │ ├── mathml3-strict-content.xsd │ │ └── mathml3.xsd └── phpword │ ├── .github_changelog_generator │ ├── .php-cs-fixer.dist.php │ ├── CONTRIBUTING.md │ ├── COPYING │ ├── COPYING.LESSER │ ├── LICENSE │ ├── README.md │ ├── bootstrap.php │ ├── composer.json │ ├── mkdocs.yml │ ├── phpstan-baseline.neon │ ├── phpword.ini.dist │ └── src │ └── PhpWord │ ├── Collection │ ├── AbstractCollection.php │ ├── Bookmarks.php │ ├── Charts.php │ ├── Comments.php │ ├── Endnotes.php │ ├── Footnotes.php │ └── Titles.php │ ├── ComplexType │ ├── FootnoteProperties.php │ ├── ProofState.php │ ├── TblWidth.php │ └── TrackChangesView.php │ ├── Element │ ├── AbstractContainer.php │ ├── AbstractElement.php │ ├── Bookmark.php │ ├── Cell.php │ ├── Chart.php │ ├── CheckBox.php │ ├── Comment.php │ ├── Endnote.php │ ├── Field.php │ ├── Footer.php │ ├── Footnote.php │ ├── FormField.php │ ├── Formula.php │ ├── Header.php │ ├── Image.php │ ├── Line.php │ ├── Link.php │ ├── ListItem.php │ ├── ListItemRun.php │ ├── OLEObject.php │ ├── PageBreak.php │ ├── PreserveText.php │ ├── Row.php │ ├── SDT.php │ ├── Section.php │ ├── Shape.php │ ├── TOC.php │ ├── Table.php │ ├── Text.php │ ├── TextBox.php │ ├── TextBreak.php │ ├── TextRun.php │ ├── Title.php │ └── TrackChange.php │ ├── Escaper │ ├── AbstractEscaper.php │ ├── EscaperInterface.php │ ├── RegExp.php │ ├── Rtf.php │ └── Xml.php │ ├── Exception │ ├── CopyFileException.php │ ├── CreateTemporaryFileException.php │ ├── Exception.php │ ├── InvalidImageException.php │ ├── InvalidObjectException.php │ ├── InvalidStyleException.php │ └── UnsupportedImageTypeException.php │ ├── IOFactory.php │ ├── Media.php │ ├── Metadata │ ├── Compatibility.php │ ├── DocInfo.php │ ├── Protection.php │ └── Settings.php │ ├── PhpWord.php │ ├── Reader │ ├── AbstractReader.php │ ├── HTML.php │ ├── MsDoc.php │ ├── ODText.php │ ├── ODText │ │ ├── AbstractPart.php │ │ ├── Content.php │ │ └── Meta.php │ ├── RTF.php │ ├── RTF │ │ └── Document.php │ ├── ReaderInterface.php │ ├── Word2007.php │ └── Word2007 │ │ ├── AbstractPart.php │ │ ├── Comments.php │ │ ├── DocPropsApp.php │ │ ├── DocPropsCore.php │ │ ├── DocPropsCustom.php │ │ ├── Document.php │ │ ├── Endnotes.php │ │ ├── Footnotes.php │ │ ├── Numbering.php │ │ ├── Settings.php │ │ └── Styles.php │ ├── Settings.php │ ├── Shared │ ├── AbstractEnum.php │ ├── Converter.php │ ├── Css.php │ ├── Drawing.php │ ├── Html.php │ ├── Microsoft │ │ └── PasswordEncoder.php │ ├── OLERead.php │ ├── PCLZip │ │ └── pclzip.lib.php │ ├── Text.php │ ├── Validate.php │ ├── XMLReader.php │ ├── XMLWriter.php │ └── ZipArchive.php │ ├── SimpleType │ ├── Border.php │ ├── DocProtect.php │ ├── Jc.php │ ├── JcTable.php │ ├── LineSpacingRule.php │ ├── NumberFormat.php │ ├── TblWidth.php │ ├── TextAlignment.php │ ├── VerticalJc.php │ └── Zoom.php │ ├── Style.php │ ├── Style │ ├── AbstractStyle.php │ ├── Border.php │ ├── Cell.php │ ├── Chart.php │ ├── Extrusion.php │ ├── Fill.php │ ├── Font.php │ ├── Frame.php │ ├── Image.php │ ├── Indentation.php │ ├── Language.php │ ├── Line.php │ ├── LineNumbering.php │ ├── ListItem.php │ ├── Numbering.php │ ├── NumberingLevel.php │ ├── Outline.php │ ├── Paper.php │ ├── Paragraph.php │ ├── Row.php │ ├── Section.php │ ├── Shading.php │ ├── Shadow.php │ ├── Shape.php │ ├── Spacing.php │ ├── TOC.php │ ├── Tab.php │ ├── Table.php │ ├── TablePosition.php │ └── TextBox.php │ ├── TemplateProcessor.php │ ├── Writer │ ├── AbstractWriter.php │ ├── HTML.php │ ├── HTML │ │ ├── Element │ │ │ ├── AbstractElement.php │ │ │ ├── Bookmark.php │ │ │ ├── Container.php │ │ │ ├── Endnote.php │ │ │ ├── Footnote.php │ │ │ ├── Image.php │ │ │ ├── Link.php │ │ │ ├── ListItem.php │ │ │ ├── ListItemRun.php │ │ │ ├── PageBreak.php │ │ │ ├── Table.php │ │ │ ├── Text.php │ │ │ ├── TextBreak.php │ │ │ ├── TextRun.php │ │ │ └── Title.php │ │ ├── Part │ │ │ ├── AbstractPart.php │ │ │ ├── Body.php │ │ │ └── Head.php │ │ └── Style │ │ │ ├── AbstractStyle.php │ │ │ ├── Font.php │ │ │ ├── Generic.php │ │ │ ├── Image.php │ │ │ ├── Paragraph.php │ │ │ └── Table.php │ ├── ODText.php │ ├── ODText │ │ ├── Element │ │ │ ├── AbstractElement.php │ │ │ ├── Container.php │ │ │ ├── Field.php │ │ │ ├── Formula.php │ │ │ ├── Image.php │ │ │ ├── Link.php │ │ │ ├── PageBreak.php │ │ │ ├── Table.php │ │ │ ├── Text.php │ │ │ ├── TextBreak.php │ │ │ ├── TextRun.php │ │ │ └── Title.php │ │ ├── Part │ │ │ ├── AbstractPart.php │ │ │ ├── Content.php │ │ │ ├── Manifest.php │ │ │ ├── Meta.php │ │ │ ├── Mimetype.php │ │ │ └── Styles.php │ │ └── Style │ │ │ ├── AbstractStyle.php │ │ │ ├── Font.php │ │ │ ├── Image.php │ │ │ ├── Paragraph.php │ │ │ ├── Section.php │ │ │ └── Table.php │ ├── PDF.php │ ├── PDF │ │ ├── AbstractRenderer.php │ │ ├── DomPDF.php │ │ ├── MPDF.php │ │ └── TCPDF.php │ ├── RTF.php │ ├── RTF │ │ ├── Element │ │ │ ├── AbstractElement.php │ │ │ ├── Container.php │ │ │ ├── Field.php │ │ │ ├── Image.php │ │ │ ├── Link.php │ │ │ ├── ListItem.php │ │ │ ├── PageBreak.php │ │ │ ├── Table.php │ │ │ ├── Text.php │ │ │ ├── TextBreak.php │ │ │ ├── TextRun.php │ │ │ └── Title.php │ │ ├── Part │ │ │ ├── AbstractPart.php │ │ │ ├── Document.php │ │ │ └── Header.php │ │ └── Style │ │ │ ├── AbstractStyle.php │ │ │ ├── Border.php │ │ │ ├── Font.php │ │ │ ├── Indentation.php │ │ │ ├── Paragraph.php │ │ │ ├── Section.php │ │ │ └── Tab.php │ ├── Word2007.php │ ├── Word2007 │ │ ├── Element │ │ │ ├── AbstractElement.php │ │ │ ├── Bookmark.php │ │ │ ├── Chart.php │ │ │ ├── CheckBox.php │ │ │ ├── Container.php │ │ │ ├── Endnote.php │ │ │ ├── Field.php │ │ │ ├── Footnote.php │ │ │ ├── FormField.php │ │ │ ├── Formula.php │ │ │ ├── Image.php │ │ │ ├── Line.php │ │ │ ├── Link.php │ │ │ ├── ListItem.php │ │ │ ├── ListItemRun.php │ │ │ ├── OLEObject.php │ │ │ ├── PageBreak.php │ │ │ ├── ParagraphAlignment.php │ │ │ ├── PreserveText.php │ │ │ ├── SDT.php │ │ │ ├── Shape.php │ │ │ ├── TOC.php │ │ │ ├── Table.php │ │ │ ├── TableAlignment.php │ │ │ ├── Text.php │ │ │ ├── TextBox.php │ │ │ ├── TextBreak.php │ │ │ ├── TextRun.php │ │ │ └── Title.php │ │ ├── Part │ │ │ ├── AbstractPart.php │ │ │ ├── Chart.php │ │ │ ├── Comments.php │ │ │ ├── ContentTypes.php │ │ │ ├── DocPropsApp.php │ │ │ ├── DocPropsCore.php │ │ │ ├── DocPropsCustom.php │ │ │ ├── Document.php │ │ │ ├── Endnotes.php │ │ │ ├── FontTable.php │ │ │ ├── Footer.php │ │ │ ├── Footnotes.php │ │ │ ├── Header.php │ │ │ ├── Numbering.php │ │ │ ├── Rels.php │ │ │ ├── RelsDocument.php │ │ │ ├── RelsPart.php │ │ │ ├── Settings.php │ │ │ ├── Styles.php │ │ │ ├── Theme.php │ │ │ └── WebSettings.php │ │ └── Style │ │ │ ├── AbstractStyle.php │ │ │ ├── Cell.php │ │ │ ├── Extrusion.php │ │ │ ├── Fill.php │ │ │ ├── Font.php │ │ │ ├── Frame.php │ │ │ ├── Image.php │ │ │ ├── Indentation.php │ │ │ ├── Line.php │ │ │ ├── LineNumbering.php │ │ │ ├── MarginBorder.php │ │ │ ├── Outline.php │ │ │ ├── Paragraph.php │ │ │ ├── Row.php │ │ │ ├── Section.php │ │ │ ├── Shading.php │ │ │ ├── Shadow.php │ │ │ ├── Shape.php │ │ │ ├── Spacing.php │ │ │ ├── Tab.php │ │ │ ├── Table.php │ │ │ ├── TablePosition.php │ │ │ └── TextBox.php │ └── WriterInterface.php │ └── resources │ ├── doc.png │ ├── ppt.png │ └── xls.png ├── psr ├── http-message │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── docs │ │ ├── PSR7-Interfaces.md │ │ └── PSR7-Usage.md │ └── src │ │ ├── MessageInterface.php │ │ ├── RequestInterface.php │ │ ├── ResponseInterface.php │ │ ├── ServerRequestInterface.php │ │ ├── StreamInterface.php │ │ ├── UploadedFileInterface.php │ │ └── UriInterface.php └── log │ ├── LICENSE │ ├── README.md │ ├── composer.json │ └── src │ ├── AbstractLogger.php │ ├── InvalidArgumentException.php │ ├── LogLevel.php │ ├── LoggerAwareInterface.php │ ├── LoggerAwareTrait.php │ ├── LoggerInterface.php │ ├── LoggerTrait.php │ └── NullLogger.php └── setasign └── fpdi ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── composer.json └── src ├── FpdfTpl.php ├── FpdfTplTrait.php ├── FpdfTrait.php ├── Fpdi.php ├── FpdiException.php ├── FpdiTrait.php ├── GraphicsState.php ├── Math ├── Matrix.php └── Vector.php ├── PdfParser ├── CrossReference │ ├── AbstractReader.php │ ├── CrossReference.php │ ├── CrossReferenceException.php │ ├── FixedReader.php │ ├── LineReader.php │ └── ReaderInterface.php ├── Filter │ ├── Ascii85.php │ ├── Ascii85Exception.php │ ├── AsciiHex.php │ ├── FilterException.php │ ├── FilterInterface.php │ ├── Flate.php │ ├── FlateException.php │ ├── Lzw.php │ └── LzwException.php ├── PdfParser.php ├── PdfParserException.php ├── StreamReader.php ├── Tokenizer.php └── Type │ ├── PdfArray.php │ ├── PdfBoolean.php │ ├── PdfDictionary.php │ ├── PdfHexString.php │ ├── PdfIndirectObject.php │ ├── PdfIndirectObjectReference.php │ ├── PdfName.php │ ├── PdfNull.php │ ├── PdfNumeric.php │ ├── PdfStream.php │ ├── PdfString.php │ ├── PdfToken.php │ ├── PdfType.php │ └── PdfTypeException.php ├── PdfReader ├── DataStructure │ └── Rectangle.php ├── Page.php ├── PageBoundaries.php ├── PdfReader.php └── PdfReaderException.php ├── Tcpdf └── Fpdi.php ├── TcpdfFpdi.php ├── Tfpdf ├── FpdfTpl.php └── Fpdi.php └── autoload.php /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: @code-boxx 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /code-boxx-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-boxx/invoicr/6f2d7cf07429b9b17f87c870faa0654d449d649f/code-boxx-logo.png -------------------------------------------------------------------------------- /invlib/HTML/apple.css: -------------------------------------------------------------------------------- 1 | body{font-family:arial,sans-serif;padding:0;margin:0;}#invoice{width:800px;padding:15px;margin:0 auto}#billship,#company,#items{width:100%;border-collapse:collapse}#company td,#billship td,#items td,#items th{padding:15px}#company,#billship{margin-bottom:30px}#company img{max-width:180px;height:auto}#bigi{font-size:28px;color:#ad132f}#billship{background:#b92d2d;color:#fff}#billship td{width:33%}#items th{text-align:left;border-top:2px solid #f6a5a5;border-bottom:2px solid #f6a5a5}#items td{border-bottom:1px solid #f6a5a5}.idesc{color:#ca3f3f}.ttl{font-weight:700}.right{text-align:right}#notes{margin-top:30px;font-size:.95em} -------------------------------------------------------------------------------- /invlib/HTML/banana.css: -------------------------------------------------------------------------------- 1 | body{font-family:arial,sans-serif;padding:0;margin:0;}#invoice{width:800px;padding:15px;margin:0 auto}#company,#billship{margin-bottom:30px}#billship,#company,#items{width:100%;border-collapse:collapse}#company td,#billship td,#items td,#items th{padding:10px}#company td{vertical-align:top}#company img{max-width:180px;height:auto}#co-info{font-size:.95em;color:#888;margin-top:10px}#co-right{text-align:right}#bigi{font-size:28px;font-weight:700;color:#d31f1f}#invinfo{margin-top:10px}#billship td{width:50%;background:#fff93b}#items th{background:#fff93b;text-align:left}#items td{border-bottom:1px solid #f3f3b9;background:#ffffe7}.idesc{color:#757e39}.ttl{font-weight:700;color:#c30d0d}.right{text-align:right}#notes{margin-top:30px;font-size:.95em} -------------------------------------------------------------------------------- /invlib/HTML/blueberry.css: -------------------------------------------------------------------------------- 1 | body{font-family:arial,sans-serif;padding:0;margin:0;}#invoice{width:800px;padding:15px;margin:0 auto}#company,#billship{margin-bottom:30px}#billship,#company,#items{width:100%;border-collapse:collapse}#company td,#billship td,#items td,#items th{padding:10px}#company td{vertical-align:top}#bigi{margin-bottom:20px;font-size:28px;font-weight:700;color:#258ec7}#co-addr{font-size:.95em;color:#888}#co-right img{max-width:180px;height:auto}#billship td{width:33%}#items th{text-align:left;background:#98c5dc;padding:20px 10px}#items td{background:#e4eff5;border-bottom:1px solid #c8d2d7}.idesc{color:#6099b6}#items tr.ttl td{background:#98c5dc;border-bottom:none;font-weight:700}.right{text-align:right}#notes{background:#e4eff5;padding:10px;margin-top:30px;} -------------------------------------------------------------------------------- /invlib/HTML/lime.css: -------------------------------------------------------------------------------- 1 | body{font-family:arial,sans-serif;padding:0;margin:0;}#invoice{width:800px;padding:15px;margin:0 auto}#company,#billship{margin-bottom:30px}#billship,#company,#items{width:100%;border-collapse:collapse}#company td,#billship td,#items td,#items th{padding:10px}#company td{vertical-align:top}#company img{max-width:180px;height:auto}#co-info{font-size:.95em;color:#888;margin-top:10px}#co-right{text-align:right}#bigi{font-size:28px;font-weight:700;color:#bcd030}#invinfo{margin-top:10px}#billship td{width:50%;background:#d0ec0e}#items th{background:#d0ec0e;text-align:left}#items td{border-bottom:1px solid #dce4a5;background:#f8ffc7}.idesc{color:#757e39}.ttl{font-weight:700}.right{text-align:right}#notes{margin-top:30px;font-size:.95em} -------------------------------------------------------------------------------- /invlib/HTML/simple.css: -------------------------------------------------------------------------------- 1 | body{font-family:arial,sans-serif;padding:0;margin:0;}#invoice{width:800px;padding:15px;margin:0 auto}#bigi{margin-bottom:20px;font-size:28px;font-weight:bold;color:#ad132f;padding:10px}#company,#billship{margin-bottom:30px}#company img{max-width:180px;height:auto}#billship,#company,#items{width:100%;border-collapse:collapse}#billship td{width:33%}#billship td,#items td,#items th{padding:10px}#items th{text-align:left;border-top:2px solid #000;border-bottom:2px solid #000}#items td{border-bottom:1px solid #ccc}.idesc{color:#999}.ttl{background:#fafafa;font-weight:700}.right{text-align:right}#notes{background:#efefef;padding:10px;margin-top:30px} -------------------------------------------------------------------------------- /invlib/HTML/strawberry.css: -------------------------------------------------------------------------------- 1 | body{font-family:arial,sans-serif;padding:0;margin:0;}#invoice{width:800px;padding:15px;margin:0 auto}#billship,#company{margin-bottom:30px}#company img{max-width:180px;height:auto}#co-left{padding:10px;font-size:.95em;color:#888}#co-right{vertical-align:top}#co-right div{float:right;text-align:center;font-size:28px;padding:10px;color:#fff;width:240px;background:#e671a6}#items td,#items th{font-weight:400;border-bottom:3px solid #fff}#billship td,#items td,#items th,#notes{padding:10px}.pink{color:#e671a6}#billship,#company,#items{width:100%;border-collapse:collapse}#billship td{width:33%}#items th{color:#fff;background:#ea6ca9;text-align:left}#items td{background:#fbe3ef}.idesc{color:#ae2e6c}.ttl{color:#af3470}.right{text-align:right}#notes{background:#fbe3ef;margin-top:30px} -------------------------------------------------------------------------------- /invlib/vendor/autoload.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | ); 11 | -------------------------------------------------------------------------------- /invlib/vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', 10 | 'db356362850385d08a5381de2638b5fd' => $vendorDir . '/mpdf/mpdf/src/functions.php', 11 | ); 12 | -------------------------------------------------------------------------------- /invlib/vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/setasign/fpdi/src'), 10 | 'Tests\\PhpOffice\\Math\\' => array($vendorDir . '/phpoffice/math/tests/Math'), 11 | 'Psr\\Log\\' => array($vendorDir . '/psr/log/src'), 12 | 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), 13 | 'PhpOffice\\PhpWord\\' => array($vendorDir . '/phpoffice/phpword/src/PhpWord'), 14 | 'PhpOffice\\Math\\' => array($vendorDir . '/phpoffice/math/src/Math'), 15 | 'Mpdf\\PsrLogAwareTrait\\' => array($vendorDir . '/mpdf/psr-log-aware-trait/src'), 16 | 'Mpdf\\PsrHttpMessageShim\\' => array($vendorDir . '/mpdf/psr-http-message-shim/src'), 17 | 'Mpdf\\' => array($vendorDir . '/mpdf/mpdf/src'), 18 | 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'), 19 | ); 20 | -------------------------------------------------------------------------------- /invlib/vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 80000)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 8.0.0". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: https://www.paypal.me/mpdf 2 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/02_feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 🚀 2 | description: I would like to have a new functionality added 3 | body: 4 | - type: textarea 5 | attributes: 6 | label: Please describe the new functionality as best as you can. 7 | validations: 8 | required: true -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: General questions and troubleshooting ❓ 4 | url: https://github.com/mpdf/mpdf/discussions 5 | about: You can use Github Discussions for general questions and troubleshooting. Please note that asking at Stack Overflow will probably be more successful. 6 | - name: QA at Stack Overflow ❓ 7 | url: https://stackoverflow.com/questions/tagged/mpdf 8 | about: Ask at Stack Overflow for a greater chance of a quick and correct answer to your questions. Make sure to comply to SO rules, terms and conditions. 9 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.github/SECURITY.md: -------------------------------------------------------------------------------- 1 | How to disclose potential security issues 2 | ============ 3 | 4 | As mPDF does not have a domain or a dedicated contact apart from its Github repository, to prevent 5 | disclosing maintainers' contacts publicly, please create an Issue about the security issue with means to contact you. 6 | We will reach out to you as soon as possible. 7 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.github/workflows/coverage.yml: -------------------------------------------------------------------------------- 1 | # https://help.github.com/en/categories/automating-your-workflow-with-github-actions 2 | 3 | name: "Code coverage" 4 | 5 | on: 6 | push: 7 | branches: 8 | - "development" 9 | - "coverage" 10 | 11 | jobs: 12 | 13 | coverage: 14 | 15 | name: "Code coverage" 16 | 17 | runs-on: ${{ matrix.operating-system }} 18 | 19 | strategy: 20 | matrix: 21 | php-version: 22 | - "7.4" 23 | 24 | operating-system: [ubuntu-latest] 25 | 26 | steps: 27 | - name: "Checkout" 28 | uses: "actions/checkout@v3" 29 | 30 | - name: "Install PHP" 31 | uses: "shivammathur/setup-php@v2" 32 | with: 33 | coverage: "xdebug" 34 | php-version: "${{ matrix.php-version }}" 35 | extensions: "mbstring, gd, bcmath, bz2" 36 | tools: composer:v2 37 | 38 | - name: "Install dependencies" 39 | run: "composer install --no-interaction --no-progress" 40 | 41 | - name: "Code coverage" 42 | run: composer coverage 43 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.github/workflows/cs.yml: -------------------------------------------------------------------------------- 1 | # https://help.github.com/en/categories/automating-your-workflow-with-github-actions 2 | 3 | name: "Coding standard check" 4 | 5 | on: 6 | pull_request: 7 | push: 8 | branches: 9 | - "development" 10 | - "test" 11 | 12 | jobs: 13 | 14 | cs: 15 | 16 | name: "Coding standard" 17 | 18 | runs-on: ${{ matrix.operating-system }} 19 | 20 | strategy: 21 | matrix: 22 | php-version: 23 | - "7.4" 24 | 25 | operating-system: [ubuntu-latest] 26 | 27 | steps: 28 | - name: "Checkout" 29 | uses: "actions/checkout@v3" 30 | 31 | - name: "Install PHP" 32 | uses: "shivammathur/setup-php@v2" 33 | with: 34 | coverage: "none" 35 | php-version: "${{ matrix.php-version }}" 36 | extensions: "mbstring" 37 | tools: composer:v2 38 | 39 | - name: "Install dependencies" 40 | run: "composer install --no-interaction --no-progress" 41 | 42 | - name: "CS" 43 | run: composer cs 44 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/* 2 | composer.lock 3 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/collations/Dari_Afghanistan.php: -------------------------------------------------------------------------------- 1 | 8205, 4 | 1600 => 8205, 5 | 1611 => 8205, 6 | 1612 => 8205, 7 | 1613 => 8205, 8 | 1614 => 8205, 9 | 1615 => 8205, 10 | 1616 => 8205, 11 | 1618 => 8205, 12 | 1617 => 8205, 13 | 710 => 94, 14 | 189 => 188, 15 | 190 => 179, 16 | 65 => 97, 17 | 224 => 97, 18 | 226 => 97, 19 | 66 => 98, 20 | 67 => 99, 21 | 231 => 99, 22 | 68 => 100, 23 | 69 => 101, 24 | 233 => 101, 25 | 232 => 101, 26 | 234 => 101, 27 | 235 => 101, 28 | 70 => 102, 29 | 402 => 102, 30 | 71 => 103, 31 | 72 => 104, 32 | 73 => 105, 33 | 238 => 105, 34 | 239 => 105, 35 | 74 => 106, 36 | 75 => 107, 37 | 76 => 108, 38 | 77 => 109, 39 | 78 => 110, 40 | 79 => 111, 41 | 244 => 111, 42 | 339 => 111, 43 | 338 => 111, 44 | 80 => 112, 45 | 81 => 113, 46 | 82 => 114, 47 | 83 => 115, 48 | 84 => 116, 49 | 85 => 117, 50 | 249 => 117, 51 | 251 => 117, 52 | 252 => 117, 53 | 86 => 118, 54 | 87 => 119, 55 | 88 => 120, 56 | 89 => 121, 57 | 90 => 122, 58 | 1573 => 1575, 59 | 1571 => 1575, 60 | 1606 => 1722, 61 | 1726 => 1729, 62 | 1572 => 1608, 63 | 1574 => 1746, 64 | ]; 65 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/collations/Hebrew_Israel.php: -------------------------------------------------------------------------------- 1 | 173, 4 | 1457 => 173, 5 | 1458 => 173, 6 | 1459 => 173, 7 | 1460 => 173, 8 | 1461 => 173, 9 | 1462 => 173, 10 | 1463 => 173, 11 | 1464 => 173, 12 | 1465 => 173, 13 | 1466 => 173, 14 | 1467 => 173, 15 | 1468 => 173, 16 | 1469 => 173, 17 | 1471 => 173, 18 | 1472 => 173, 19 | 1473 => 173, 20 | 1474 => 173, 21 | 710 => 94, 22 | 189 => 188, 23 | 190 => 179, 24 | 65 => 97, 25 | 66 => 98, 26 | 67 => 99, 27 | 68 => 100, 28 | 69 => 101, 29 | 70 => 102, 30 | 402 => 102, 31 | 71 => 103, 32 | 72 => 104, 33 | 73 => 105, 34 | 74 => 106, 35 | 75 => 107, 36 | 76 => 108, 37 | 77 => 109, 38 | 78 => 110, 39 | 79 => 111, 40 | 80 => 112, 41 | 81 => 113, 42 | 82 => 114, 43 | 83 => 115, 44 | 84 => 116, 45 | 85 => 117, 46 | 86 => 118, 47 | 87 => 119, 48 | 88 => 120, 49 | 89 => 121, 50 | 90 => 122, 51 | 1520 => 1493, 52 | 1521 => 1493, 53 | 1522 => 1497, 54 | 1499 => 1498, 55 | 1502 => 1501, 56 | 1504 => 1503, 57 | 1508 => 1507, 58 | 1510 => 1509, 59 | ]; 60 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/collations/Persian_Iran.php: -------------------------------------------------------------------------------- 1 | 8205, 4 | 1600 => 8205, 5 | 1611 => 8205, 6 | 1612 => 8205, 7 | 1613 => 8205, 8 | 1614 => 8205, 9 | 1615 => 8205, 10 | 1616 => 8205, 11 | 1618 => 8205, 12 | 1617 => 8205, 13 | 710 => 94, 14 | 189 => 188, 15 | 190 => 179, 16 | 65 => 97, 17 | 224 => 97, 18 | 226 => 97, 19 | 66 => 98, 20 | 67 => 99, 21 | 231 => 99, 22 | 68 => 100, 23 | 69 => 101, 24 | 233 => 101, 25 | 232 => 101, 26 | 234 => 101, 27 | 235 => 101, 28 | 70 => 102, 29 | 402 => 102, 30 | 71 => 103, 31 | 72 => 104, 32 | 73 => 105, 33 | 238 => 105, 34 | 239 => 105, 35 | 74 => 106, 36 | 75 => 107, 37 | 76 => 108, 38 | 77 => 109, 39 | 78 => 110, 40 | 79 => 111, 41 | 244 => 111, 42 | 339 => 111, 43 | 338 => 111, 44 | 80 => 112, 45 | 81 => 113, 46 | 82 => 114, 47 | 83 => 115, 48 | 84 => 116, 49 | 85 => 117, 50 | 249 => 117, 51 | 251 => 117, 52 | 252 => 117, 53 | 86 => 118, 54 | 87 => 119, 55 | 88 => 120, 56 | 89 => 121, 57 | 90 => 122, 58 | 1573 => 1575, 59 | 1571 => 1575, 60 | 1606 => 1722, 61 | 1729 => 1607, 62 | 1726 => 1607, 63 | 1746 => 1610, 64 | 1574 => 1610, 65 | ]; 66 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/font/ccourier.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-23 -250 715 805]'); 7 | $desc = array('Flags' => 33, 'FontBBox' => '[-23 -250 715 805]', 'ItalicAngle' => 0, 'Ascent' => 805, 'Descent' => -250, 'Leading' => 0, 'CapHeight' => 562, 'XHeight' => 426, 'StemV' => 51, 'StemH' => 51, 'AvgWidth' => 600, 'MaxWidth' => 600, 'MissingWidth' => 600); 8 | $up = -100; 9 | $ut = 50; 10 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/font/ccourierb.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-113 -250 749 801]'); 7 | $desc = array('Flags' => 33, 'FontBBox' => '[-113 -250 749 801]', 'ItalicAngle' => 0, 'Ascent' => 801, 'Descent' => -250, 'Leading' => 0, 'CapHeight' => 562, 'XHeight' => 439, 'StemV' => 106, 'StemH' => 84, 'AvgWidth' => 600, 'MaxWidth' => 600, 'MissingWidth' => 600); 8 | $up = -100; 9 | $ut = 50; 10 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/font/ccourierbi.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-57 -250 869 801]'); 7 | $desc = array('Flags' => 97, 'FontBBox' => '[-57 -250 869 801]', 'ItalicAngle' => -12, 'Ascent' => 801, 'Descent' => -250, 'Leading' => 0, 'CapHeight' => 562, 'XHeight' => 439, 'StemV' => 106, 'StemH' => 84, 'AvgWidth' => 600, 'MaxWidth' => 600, 'MissingWidth' => 600); 8 | $up = -100; 9 | $ut = 50; 10 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/font/ccourieri.php: -------------------------------------------------------------------------------- 1 | 629, 'Descent' => -157, 'CapHeight' => 562, 'FontBBox' => '[-27 -250 849 805]'); 7 | $desc = array('Flags' => 97, 'FontBBox' => '[-27 -250 849 805]', 'ItalicAngle' => -12, 'Ascent' => 805, 'Descent' => -250, 'Leading' => 0, 'CapHeight' => 562, 'XHeight' => 426, 'StemV' => 51, 'StemH' => 51, 'AvgWidth' => 600, 'MaxWidth' => 600, 'MissingWidth' => 600); 8 | $up = -100; 9 | $ut = 50; 10 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/iccprofiles/sRGB_IEC61966-2-1.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-boxx/invoicr/6f2d7cf07429b9b17f87c870faa0654d449d649f/invlib/vendor/mpdf/mpdf/data/iccprofiles/sRGB_IEC61966-2-1.icc -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/linebrdictK.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-boxx/invoicr/6f2d7cf07429b9b17f87c870faa0654d449d649f/invlib/vendor/mpdf/mpdf/data/linebrdictK.dat -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/linebrdictL.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-boxx/invoicr/6f2d7cf07429b9b17f87c870faa0654d449d649f/invlib/vendor/mpdf/mpdf/data/linebrdictL.dat -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/linebrdictT.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-boxx/invoicr/6f2d7cf07429b9b17f87c870faa0654d449d649f/invlib/vendor/mpdf/mpdf/data/linebrdictT.dat -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/no_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-boxx/invoicr/6f2d7cf07429b9b17f87c870faa0654d449d649f/invlib/vendor/mpdf/mpdf/data/no_image.jpg -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/patterns/NOTES.txt: -------------------------------------------------------------------------------- 1 | Alternative sources of Hyphenation programs or TEX files: 2 | 3 | OpenOffice: http://wiki.services.openoffice.org/wiki/Dictionaries 4 | 5 | Hyphenator4PHP- alternative PHP hyphenator scripts: http://apps.sourceforge.net/trac/hyphenator4php/ 6 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/data/patterns/dictionary.txt: -------------------------------------------------------------------------------- 1 | dis/establish/ment/arian/ism 2 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/phpunit.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | ./tests 10 | 11 | 12 | 13 | 14 | 15 | src 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Barcode/BarcodeException.php: -------------------------------------------------------------------------------- 1 | services = $services; 13 | } 14 | 15 | public function get($id) 16 | { 17 | if (!$this->has($id)) { 18 | throw new \Mpdf\Container\NotFoundException(sprintf('Unable to find service of key "%s"', $id)); 19 | } 20 | 21 | return $this->services[$id]; 22 | } 23 | 24 | public function has($id) 25 | { 26 | return isset($this->services[$id]); 27 | } 28 | 29 | public function getServices() 30 | { 31 | return $this->services; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Conversion/DecToAlpha.php: -------------------------------------------------------------------------------- 1 | 18278)) { 13 | return '?'; //supports 'only' up to 18278 14 | } 15 | 16 | $c2 = $c3 = ''; 17 | 18 | $c1 = 64 + $valor; // 1 letter (up to 26) 19 | if ($valor > 702) { // 3 letters (up to 18278) 20 | $c1 = 65 + floor(($valor - 703) / 676); 21 | $c2 = 65 + floor((($valor - 703) % 676) / 26); 22 | $c3 = 65 + floor((($valor - 703) % 676) % 26); 23 | } elseif ($valor > 26) { // 2 letters (up to 702) 24 | $c1 = (64 + (int) (($valor - 1) / 26)); 25 | $c2 = (64 + ($valor % 26)); 26 | if ($c2 === 64) { 27 | $c2 += 26; 28 | } 29 | } 30 | 31 | $alpha = chr($c1); 32 | 33 | if ($c2 !== '') { 34 | $alpha .= chr($c2); 35 | } 36 | 37 | if ($c3 !== '') { 38 | $alpha .= chr($c3); 39 | } 40 | 41 | if (!$toUpper) { 42 | $alpha = strtolower($alpha); 43 | } 44 | 45 | return $alpha; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Conversion/DecToCjk.php: -------------------------------------------------------------------------------- 1 | mpdf = $mpdf; 15 | } 16 | 17 | /** 18 | * @param string $filename 19 | * @return bool 20 | * @since 7.1.8 21 | */ 22 | public function hasBlacklistedStreamWrapper($filename) 23 | { 24 | if (strpos($filename, '://') > 0) { 25 | $wrappers = stream_get_wrappers(); 26 | $whitelistStreamWrappers = $this->getWhitelistedStreamWrappers(); 27 | foreach ($wrappers as $wrapper) { 28 | if (in_array($wrapper, $whitelistStreamWrappers)) { 29 | continue; 30 | } 31 | 32 | if (stripos($filename, $wrapper . '://') === 0) { 33 | return true; 34 | } 35 | } 36 | } 37 | 38 | return false; 39 | } 40 | 41 | public function getWhitelistedStreamWrappers() 42 | { 43 | return array_diff($this->mpdf->whitelistStreamWrappers, ['phar']); // remove 'phar' (security issue) 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Fonts/FontFileFinder.php: -------------------------------------------------------------------------------- 1 | setDirectories($directories); 13 | } 14 | 15 | public function setDirectories($directories) 16 | { 17 | if (!is_array($directories)) { 18 | $directories = [$directories]; 19 | } 20 | 21 | $this->directories = $directories; 22 | } 23 | 24 | public function findFontFile($name) 25 | { 26 | foreach ($this->directories as $directory) { 27 | $filename = $directory . '/' . $name; 28 | if (file_exists($filename)) { 29 | return $filename; 30 | } 31 | } 32 | 33 | throw new \Mpdf\MpdfException(sprintf('Cannot find TTF TrueType font file "%s" in configured font directories.', $name)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Fonts/GlyphOperator.php: -------------------------------------------------------------------------------- 1 | /is', $data)) { 36 | return 'svg'; 37 | } 38 | 39 | if (strpos($data, 'BM') === 0) { 40 | return 'bmp'; 41 | } 42 | 43 | return null; 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Language/ScriptToLanguageInterface.php: -------------------------------------------------------------------------------- 1 | mpdf->tableLevel) { 23 | $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['textbuffer'][] = [$e]; 24 | } // *TABLES* 25 | else { // *TABLES* 26 | $this->mpdf->textbuffer[] = [$e]; 27 | } // *TABLES* 28 | } 29 | } 30 | 31 | public function close(&$ahtml, &$ihtml) 32 | { 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Caption.php: -------------------------------------------------------------------------------- 1 | mpdf->IndexEntry(htmlspecialchars_decode($attr['CONTENT'], ENT_QUOTES), $attr['XREF']); 15 | return; 16 | } 17 | $objattr = []; 18 | $objattr['CONTENT'] = htmlspecialchars_decode($attr['CONTENT'], ENT_QUOTES); 19 | $objattr['type'] = 'indexentry'; 20 | $objattr['vertical-align'] = 'T'; 21 | $e = Mpdf::OBJECT_IDENTIFIER . "type=indexentry,objattr=" . serialize($objattr) . Mpdf::OBJECT_IDENTIFIER; 22 | if ($this->mpdf->tableLevel) { 23 | $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['textbuffer'][] = [$e]; 24 | } // *TABLES* 25 | else { // *TABLES* 26 | $this->mpdf->textbuffer[] = [$e]; 27 | } // *TABLES* 28 | } 29 | } 30 | 31 | public function close(&$ahtml, &$ihtml) 32 | { 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/IndexInsert.php: -------------------------------------------------------------------------------- 1 | mpdf->InsertIndex($usedivletters, $links, $indexCollationLocale, $indexCollationGroup); 28 | } 29 | 30 | public function close(&$ahtml, &$ihtml) 31 | { 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Ins.php: -------------------------------------------------------------------------------- 1 | mpdf->ignorefollowingspaces = true; 11 | $this->mpdf->NewColumn(); 12 | $this->mpdf->ColumnAdjust = false; // disables all column height adjustment for the page. 13 | } 14 | 15 | public function close(&$ahtml, &$ihtml) 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/NewPage.php: -------------------------------------------------------------------------------- 1 | mpdf->lastoptionaltag = ''; 13 | $this->mpdf->selectoption['ACTIVE'] = true; 14 | $this->mpdf->selectoption['currentSEL'] = false; 15 | if (empty($this->mpdf->selectoption)) { 16 | $this->mpdf->selectoption['MAXWIDTH'] = ''; 17 | $this->mpdf->selectoption['SELECTED'] = ''; 18 | } 19 | if (isset($attr['SELECTED'])) { 20 | $this->mpdf->selectoption['SELECTED'] = ''; 21 | $this->mpdf->selectoption['currentSEL'] = true; 22 | } 23 | if (isset($attr['VALUE'])) { 24 | $attr['VALUE'] = UtfString::strcode2utf($attr['VALUE']); 25 | $attr['VALUE'] = $this->mpdf->lesser_entity_decode($attr['VALUE']); 26 | if ($this->mpdf->onlyCoreFonts) { 27 | $attr['VALUE'] = mb_convert_encoding($attr['VALUE'], $this->mpdf->mb_enc, 'UTF-8'); 28 | } 29 | } 30 | $this->mpdf->selectoption['currentVAL'] = $attr['VALUE']; 31 | } 32 | 33 | public function close(&$ahtml, &$ihtml) 34 | { 35 | $this->mpdf->selectoption['ACTIVE'] = false; 36 | $this->mpdf->lastoptionaltag = ''; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/P.php: -------------------------------------------------------------------------------- 1 | mpdf->ispre = true; // ADDED - Prevents left trim of textbuffer in printbuffer() 11 | parent::open($attr, $ahtml, $ihtml); // TODO: Change the autogenerated stub 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Q.php: -------------------------------------------------------------------------------- 1 | getTagName(); 11 | if ($this->mpdf->InlineProperties[$tag]) { 12 | $this->mpdf->restoreInlineProperties($this->mpdf->InlineProperties[$tag]); 13 | } 14 | unset($this->mpdf->InlineProperties[$tag]); 15 | $ltag = strtolower($tag); 16 | $this->mpdf->$ltag = false; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Summary.php: -------------------------------------------------------------------------------- 1 | mpdf->tablethead = 0; 11 | $this->mpdf->tabletfoot = 0; 12 | $this->mpdf->lastoptionaltag = 'TBODY'; // Save current HTML specified optional endtag 13 | $this->cssManager->tbCSSlvl++; 14 | $this->cssManager->MergeCSS('TABLE', 'TBODY', $attr); 15 | } 16 | 17 | public function close(&$ahtml, &$ihtml) 18 | { 19 | $this->mpdf->lastoptionaltag = ''; 20 | unset($this->cssManager->tablecascadeCSS[$this->cssManager->tbCSSlvl]); 21 | $this->cssManager->tbCSSlvl--; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Th.php: -------------------------------------------------------------------------------- 1 | mpdf->SetStyle('B', false); 11 | parent::close($ahtml, $ihtml); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Time.php: -------------------------------------------------------------------------------- 1 | tableOfContents->openTagTOC($attr); 12 | } 13 | 14 | public function close(&$ahtml, &$ihtml) 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/TocEntry.php: -------------------------------------------------------------------------------- 1 | mpdf->tableLevel) { 29 | $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['textbuffer'][] = [$e]; 30 | } // *TABLES* 31 | else { // *TABLES* 32 | $this->mpdf->textbuffer[] = [$e]; 33 | } // *TABLES* 34 | } 35 | } 36 | 37 | public function close(&$ahtml, &$ihtml) 38 | { 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/TocPageBreak.php: -------------------------------------------------------------------------------- 1 | tableOfContents->openTagTOCPAGEBREAK($attr); 10 | $this->toc_id = $toc_id; 11 | if ($isbreak) { 12 | return; 13 | } 14 | parent::open($attr, $ahtml, $ihtml); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Tt.php: -------------------------------------------------------------------------------- 1 | mpdf->tta = true; 11 | $this->mpdf->InlineProperties['TTA'] = $this->mpdf->saveInlineProperties(); 12 | 13 | if (in_array($this->mpdf->FontFamily, $this->mpdf->mono_fonts)) { 14 | $this->mpdf->setCSS(['FONT-FAMILY' => 'ccourier'], 'INLINE'); 15 | } elseif (in_array($this->mpdf->FontFamily, $this->mpdf->serif_fonts)) { 16 | $this->mpdf->setCSS(['FONT-FAMILY' => 'ctimes'], 'INLINE'); 17 | } else { 18 | $this->mpdf->setCSS(['FONT-FAMILY' => 'chelvetica'], 'INLINE'); 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Tts.php: -------------------------------------------------------------------------------- 1 | mpdf->tts = true; 11 | $this->mpdf->InlineProperties['TTS'] = $this->mpdf->saveInlineProperties(); 12 | $this->mpdf->setCSS(['FONT-FAMILY' => 'csymbol', 'FONT-WEIGHT' => 'normal', 'FONT-STYLE' => 'normal'], 'INLINE'); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/Ttz.php: -------------------------------------------------------------------------------- 1 | mpdf->ttz = true; 11 | $this->mpdf->InlineProperties['TTZ'] = $this->mpdf->saveInlineProperties(); 12 | $this->mpdf->setCSS(['FONT-FAMILY' => 'czapfdingbats', 'FONT-WEIGHT' => 'normal', 'FONT-STYLE' => 'normal'], 'INLINE'); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/U.php: -------------------------------------------------------------------------------- 1 | 0) { 17 | $alpha = $attr['ALPHA']; 18 | } 19 | 20 | $size = 'D'; 21 | if (!empty($attr['SIZE'])) { 22 | $size = $attr['SIZE']; 23 | if (strpos($size, ',')) { 24 | $size = explode(',', $size); 25 | } 26 | } 27 | 28 | $pos = 'P'; 29 | if (!empty($attr['POSITION'])) { // mPDF 5.7.2 30 | $pos = $attr['POSITION']; 31 | if (strpos($pos, ',')) { 32 | $pos = explode(',', $pos); 33 | } 34 | } 35 | $this->mpdf->SetWatermarkImage($src, $alpha, $size, $pos); 36 | } 37 | 38 | public function close(&$ahtml, &$ihtml) 39 | { 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Tag/WatermarkText.php: -------------------------------------------------------------------------------- 1 | 0) { 17 | $alpha = $attr['ALPHA']; 18 | } 19 | $this->mpdf->SetWatermarkText($txt, $alpha); 20 | } 21 | 22 | public function close(&$ahtml, &$ihtml) 23 | { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Utils/NumericString.php: -------------------------------------------------------------------------------- 1 | text = $text; 29 | $this->size = $size; 30 | $this->angle = $angle; 31 | $this->color = $color; 32 | $this->alpha = $alpha; 33 | $this->font = $font; 34 | } 35 | 36 | public function getText() 37 | { 38 | return $this->text; 39 | } 40 | 41 | public function getSize() 42 | { 43 | return $this->size; 44 | } 45 | 46 | public function getAngle() 47 | { 48 | return $this->angle; 49 | } 50 | 51 | public function getColor() 52 | { 53 | return $this->color; 54 | } 55 | 56 | public function getAlpha() 57 | { 58 | return $this->alpha; 59 | } 60 | 61 | public function getFont() 62 | { 63 | return $this->font; 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Writer/ColorWriter.php: -------------------------------------------------------------------------------- 1 | mpdf = $mpdf; 26 | $this->writer = $writer; 27 | } 28 | 29 | public function writeSpotColors() // _putspotcolors 30 | { 31 | foreach ($this->mpdf->spotColors as $name => $color) { 32 | 33 | $this->writer->object(); 34 | 35 | $this->writer->write('[/Separation /' . str_replace(' ', '#20', $name)); 36 | $this->writer->write('/DeviceCMYK <<'); 37 | $this->writer->write('/Range [0 1 0 1 0 1 0 1] /C0 [0 0 0 0] '); 38 | $this->writer->write(sprintf('/C1 [%.3F %.3F %.3F %.3F] ', $color['c'] / 100, $color['m'] / 100, $color['y'] / 100, $color['k'] / 100)); 39 | $this->writer->write('/FunctionType 2 /Domain [0 1] /N 1>>]'); 40 | $this->writer->write('endobj'); 41 | 42 | $this->mpdf->spotColors[$name]['n'] = $this->mpdf->n; 43 | } 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/Writer/JavaScriptWriter.php: -------------------------------------------------------------------------------- 1 | mpdf = $mpdf; 26 | $this->writer = $writer; 27 | } 28 | 29 | public function writeJavascript() // _putjavascript 30 | { 31 | $this->writer->object(); 32 | $this->mpdf->n_js = $this->mpdf->n; 33 | $this->writer->write('<<'); 34 | $this->writer->write('/Names [(EmbeddedJS) ' . (1 + $this->mpdf->n) . ' 0 R ]'); 35 | $this->writer->write('>>'); 36 | $this->writer->write('endobj'); 37 | 38 | $this->writer->object(); 39 | $this->writer->write('<<'); 40 | $this->writer->write('/S /JavaScript'); 41 | $this->writer->write('/JS ' . $this->writer->string($this->mpdf->js)); 42 | $this->writer->write('>>'); 43 | $this->writer->write('endobj'); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/mpdf/src/functions-dev.php: -------------------------------------------------------------------------------- 1 | logger = $logger; 18 | if (property_exists($this, 'services') && is_array($this->services)) { 19 | foreach ($this->services as $name) { 20 | if ($this->$name && $this->$name instanceof \Psr\Log\LoggerAwareInterface) { 21 | $this->$name->setLogger($logger); 22 | } 23 | } 24 | } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /invlib/vendor/mpdf/psr-log-aware-trait/src/PsrLogAwareTrait.php: -------------------------------------------------------------------------------- 1 | logger = $logger; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: "packagist/myclabs/deep-copy" 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 My C-Sense 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "myclabs/deep-copy", 3 | "description": "Create deep copies (clones) of your objects", 4 | "license": "MIT", 5 | "type": "library", 6 | "keywords": [ 7 | "clone", 8 | "copy", 9 | "duplicate", 10 | "object", 11 | "object graph" 12 | ], 13 | "require": { 14 | "php": "^7.1 || ^8.0" 15 | }, 16 | "require-dev": { 17 | "doctrine/collections": "^1.6.8", 18 | "doctrine/common": "^2.13.3 || ^3.2.2", 19 | "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" 20 | }, 21 | "conflict": { 22 | "doctrine/collections": "<1.6.8", 23 | "doctrine/common": "<2.13.3 || >=3,<3.2.2" 24 | }, 25 | "autoload": { 26 | "psr-4": { 27 | "DeepCopy\\": "src/DeepCopy/" 28 | }, 29 | "files": [ 30 | "src/DeepCopy/deep_copy.php" 31 | ] 32 | }, 33 | "autoload-dev": { 34 | "psr-4": { 35 | "DeepCopy\\": "fixtures/", 36 | "DeepCopyTest\\": "tests/DeepCopyTest/" 37 | } 38 | }, 39 | "config": { 40 | "sort-packages": true 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php: -------------------------------------------------------------------------------- 1 | filter = $filter; 18 | } 19 | 20 | public function apply($object, $property, $objectCopier) 21 | { 22 | $this->filter->apply($object, $property, $objectCopier); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php: -------------------------------------------------------------------------------- 1 | setAccessible(true); 23 | $oldCollection = $reflectionProperty->getValue($object); 24 | 25 | $newCollection = $oldCollection->map( 26 | function ($item) use ($objectCopier) { 27 | return $objectCopier($item); 28 | } 29 | ); 30 | 31 | $reflectionProperty->setValue($object, $newCollection); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php: -------------------------------------------------------------------------------- 1 | setAccessible(true); 25 | 26 | $reflectionProperty->setValue($object, new ArrayCollection()); 27 | } 28 | } -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php: -------------------------------------------------------------------------------- 1 | __load(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php: -------------------------------------------------------------------------------- 1 | callback = $callable; 23 | } 24 | 25 | /** 26 | * Replaces the object property by the result of the callback called with the object property. 27 | * 28 | * {@inheritdoc} 29 | */ 30 | public function apply($object, $property, $objectCopier) 31 | { 32 | $reflectionProperty = ReflectionHelper::getProperty($object, $property); 33 | $reflectionProperty->setAccessible(true); 34 | 35 | $value = call_user_func($this->callback, $reflectionProperty->getValue($object)); 36 | 37 | $reflectionProperty->setValue($object, $value); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php: -------------------------------------------------------------------------------- 1 | setAccessible(true); 22 | $reflectionProperty->setValue($object, null); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php: -------------------------------------------------------------------------------- 1 | class = $class; 27 | $this->property = $property; 28 | } 29 | 30 | /** 31 | * Matches a specific property of a specific class. 32 | * 33 | * {@inheritdoc} 34 | */ 35 | public function matches($object, $property) 36 | { 37 | return ($object instanceof $this->class) && $property == $this->property; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php: -------------------------------------------------------------------------------- 1 | property = $property; 21 | } 22 | 23 | /** 24 | * Matches a property by its name. 25 | * 26 | * {@inheritdoc} 27 | */ 28 | public function matches($object, $property) 29 | { 30 | return $property == $this->property; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php: -------------------------------------------------------------------------------- 1 | $propertyValue) { 28 | $copy->{$propertyName} = $propertyValue; 29 | } 30 | 31 | return $copy; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php: -------------------------------------------------------------------------------- 1 | callback = $callable; 21 | } 22 | 23 | /** 24 | * {@inheritdoc} 25 | */ 26 | public function apply($element) 27 | { 28 | return call_user_func($this->callback, $element); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php: -------------------------------------------------------------------------------- 1 | copier = $copier; 21 | } 22 | 23 | /** 24 | * {@inheritdoc} 25 | */ 26 | public function apply($arrayObject) 27 | { 28 | $clone = clone $arrayObject; 29 | foreach ($arrayObject->getArrayCopy() as $k => $v) { 30 | $clone->offsetSet($k, $this->copier->copy($v)); 31 | } 32 | 33 | return $clone; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php: -------------------------------------------------------------------------------- 1 | type = $type; 18 | } 19 | 20 | /** 21 | * @param mixed $element 22 | * 23 | * @return boolean 24 | */ 25 | public function matches($element) 26 | { 27 | return is_object($element) ? is_a($element, $this->type) : gettype($element) === $this->type; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /invlib/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php: -------------------------------------------------------------------------------- 1 | copy($value); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /invlib/vendor/paragonie/random_compat/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Paragon Initiative Enterprises 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /invlib/vendor/paragonie/random_compat/build-phar.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | basedir=$( dirname $( readlink -f ${BASH_SOURCE[0]} ) ) 4 | 5 | php -dphar.readonly=0 "$basedir/other/build_phar.php" $* -------------------------------------------------------------------------------- /invlib/vendor/paragonie/random_compat/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "paragonie/random_compat", 3 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 4 | "keywords": [ 5 | "csprng", 6 | "random", 7 | "polyfill", 8 | "pseudorandom" 9 | ], 10 | "license": "MIT", 11 | "type": "library", 12 | "authors": [ 13 | { 14 | "name": "Paragon Initiative Enterprises", 15 | "email": "security@paragonie.com", 16 | "homepage": "https://paragonie.com" 17 | } 18 | ], 19 | "support": { 20 | "issues": "https://github.com/paragonie/random_compat/issues", 21 | "email": "info@paragonie.com", 22 | "source": "https://github.com/paragonie/random_compat" 23 | }, 24 | "require": { 25 | "php": ">= 7" 26 | }, 27 | "require-dev": { 28 | "vimeo/psalm": "^1", 29 | "phpunit/phpunit": "4.*|5.*" 30 | }, 31 | "suggest": { 32 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /invlib/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm 3 | pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p 4 | +h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc 5 | -----END PUBLIC KEY----- 6 | -------------------------------------------------------------------------------- /invlib/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: GnuPG v2.0.22 (MingW32) 3 | 4 | iQEcBAABAgAGBQJWtW1hAAoJEGuXocKCZATaJf0H+wbZGgskK1dcRTsuVJl9IWip 5 | QwGw/qIKI280SD6/ckoUMxKDCJiFuPR14zmqnS36k7N5UNPnpdTJTS8T11jttSpg 6 | 1LCmgpbEIpgaTah+cELDqFCav99fS+bEiAL5lWDAHBTE/XPjGVCqeehyPYref4IW 7 | NDBIEsvnHPHPLsn6X5jq4+Yj5oUixgxaMPiR+bcO4Sh+RzOVB6i2D0upWfRXBFXA 8 | NNnsg9/zjvoC7ZW73y9uSH+dPJTt/Vgfeiv52/v41XliyzbUyLalf02GNPY+9goV 9 | JHG1ulEEBJOCiUD9cE1PUIJwHA/HqyhHIvV350YoEFiHl8iSwm7SiZu5kPjaq74= 10 | =B6+8 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /invlib/vendor/paragonie/random_compat/psalm-autoload.php: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "composer" 4 | directory: "/" 5 | schedule: 6 | interval: "daily" 7 | 8 | - package-ecosystem: "github-actions" 9 | directory: "/" 10 | schedule: 11 | interval: "daily" -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/.gitignore: -------------------------------------------------------------------------------- 1 | .php_cs.cache 2 | .php-cs-fixer.cache 3 | .phpunit.cache 4 | .phpunit.result.cache 5 | composer.lock 6 | phpDocumentor.phar 7 | 8 | public/ 9 | vendor/ 10 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 PhpSpreadsheet Authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phpoffice/math", 3 | "description": "Math - Manipulate Math Formula", 4 | "keywords": ["PHP","mathml", "officemathml"], 5 | "homepage": "https://phpoffice.github.io/Math/", 6 | "type": "library", 7 | "license": "MIT", 8 | "autoload": { 9 | "psr-4": { 10 | "PhpOffice\\Math\\": "src/Math/", 11 | "Tests\\PhpOffice\\Math\\": "tests/Math/" 12 | } 13 | }, 14 | "authors": [ 15 | { 16 | "name": "Progi1984", 17 | "homepage": "https://lefevre.dev" 18 | } 19 | ], 20 | "require": { 21 | "php": "^7.1|^8.0", 22 | "ext-dom": "*", 23 | "ext-xml": "*" 24 | }, 25 | "require-dev": { 26 | "phpunit/phpunit": "^7.0 || ^9.0", 27 | "phpstan/phpstan": "^0.12.88 || ^1.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/assets/mathjax.js: -------------------------------------------------------------------------------- 1 | window.MathJax = { 2 | tex: { 3 | inlineMath: [["\\(", "\\)"]], 4 | displayMath: [["\\[", "\\]"]], 5 | processEscapes: true, 6 | processEnvironments: true 7 | }, 8 | options: { 9 | ignoreHtmlClass: ".*|", 10 | processHtmlClass: "arithmatex" 11 | } 12 | }; 13 | 14 | document$.subscribe(() => { 15 | MathJax.typesetPromise() 16 | }) 17 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/credits.md: -------------------------------------------------------------------------------- 1 | ## References 2 | 3 | ### MathML 4 | 5 | - [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/MathML) 6 | 7 | ### OfficeMathML 8 | 9 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/install.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | 3 | ## Requirements 4 | 5 | Mandatory: 6 | 7 | - PHP 7.1+ 8 | - PHP [DOM extension](http://php.net/manual/en/book.dom.php) 9 | - PHP [XML Parser extension](http://www.php.net/manual/en/xml.installation.php) 10 | - PHP [XMLWriter extension](http://php.net/manual/en/book.xmlwriter.php) 11 | 12 | 13 | ## Installation 14 | 15 | ### Using Composer 16 | 17 | To install via [Composer](http://getcomposer.org), add the following lines to your `composer.json`: 18 | 19 | ``` json 20 | { 21 | "require": { 22 | "phpoffice/math": "dev-master" 23 | } 24 | } 25 | ``` -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/usage/elements/fraction.md: -------------------------------------------------------------------------------- 1 | ## Usage 2 | 3 | To create a fraction, use the `PhpOffice\Math\Element\Fraction` class. 4 | 5 | ### Methods 6 | #### getDenominator 7 | 8 | The method has no parameter. 9 | 10 | #### getNumerator 11 | 12 | The method has no parameter. 13 | 14 | #### setDenominator 15 | 16 | The method has one parameter : 17 | 18 | * `PhpOffice\Math\Element\AbstractElement` **$element** 19 | 20 | #### setNumerator 21 | 22 | The method has one parameter : 23 | 24 | * `PhpOffice\Math\Element\AbstractElement` **$element** 25 | 26 | ## Example 27 | 28 | ### Math 29 | 30 | 31 | a 32 | 3 33 | 34 | 35 | 36 | ### XML 37 | ``` xml 38 | 39 | 40 | a 41 | 3 42 | 43 | 44 | ``` 45 | 46 | ### PHP 47 | 48 | ``` php 49 | setDenominator(new Element\Identifier('a')); 58 | $fraction->setNumerator(new Element\Numeric(3)); 59 | 60 | $math->add($fraction); 61 | ``` -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/usage/elements/identifier.md: -------------------------------------------------------------------------------- 1 | ## Usage 2 | 3 | To create an identifier, use the `PhpOffice\Math\Element\Identifier` class. 4 | 5 | ### Methods 6 | #### getValue 7 | 8 | The method has no parameter. 9 | 10 | #### setValue 11 | 12 | The method has one parameter : 13 | 14 | * `string` **$value** 15 | 16 | ## Example 17 | 18 | ### Math 19 | 20 | a 21 | 22 | 23 | ### XML 24 | ``` xml 25 | 26 | a 27 | 28 | ``` 29 | 30 | ### PHP 31 | 32 | ``` php 33 | add($identifier); 43 | ``` -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/usage/elements/numeric.md: -------------------------------------------------------------------------------- 1 | ## Usage 2 | 3 | To create a numeric, use the `PhpOffice\Math\Element\Numeric` class. 4 | 5 | ### Methods 6 | #### getValue 7 | 8 | The method has no parameter. 9 | 10 | #### setValue 11 | 12 | The method has one parameter : 13 | 14 | * `float` **$value** 15 | 16 | ## Example 17 | 18 | ### Math 19 | 20 | 3 21 | 22 | 23 | ### XML 24 | ``` xml 25 | 26 | 3 27 | 28 | ``` 29 | 30 | ### PHP 31 | 32 | ``` php 33 | add($identifier); 43 | ``` -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/usage/elements/operator.md: -------------------------------------------------------------------------------- 1 | ## Usage 2 | 3 | To create an operator, use the `PhpOffice\Math\Element\Operator` class. 4 | 5 | ### Methods 6 | #### getValue 7 | 8 | The method has no parameter. 9 | 10 | #### setValue 11 | 12 | The method has one parameter : 13 | 14 | * `string` **$value** 15 | 16 | ## Example 17 | 18 | ### Math 19 | 20 | + 21 | 22 | 23 | ### XML 24 | ``` xml 25 | 26 | + 27 | 28 | ``` 29 | 30 | ### PHP 31 | 32 | ``` php 33 | add($identifier); 43 | ``` -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/usage/elements/superscript.md: -------------------------------------------------------------------------------- 1 | ## Usage 2 | 3 | To attach a superscript to an expression, use the `PhpOffice\Math\Element\Superscript` class. 4 | 5 | ### Methods 6 | #### getBase 7 | 8 | The method has no parameter. 9 | 10 | #### getSuperscript 11 | 12 | The method has no parameter. 13 | 14 | #### setBase 15 | 16 | The method has one parameter : 17 | 18 | * `PhpOffice\Math\Element\AbstractElement` **$element** 19 | 20 | #### setSuperscript 21 | 22 | The method has one parameter : 23 | 24 | * `PhpOffice\Math\Element\AbstractElement` **$element** 25 | 26 | ## Example 27 | 28 | ### Math 29 | 30 | 31 | X 32 | 2 33 | 34 | 35 | 36 | ### XML 37 | ``` xml 38 | 39 | 40 | X 41 | 2 42 | 43 | 44 | ``` 45 | 46 | ### PHP 47 | 48 | ``` php 49 | setBase(new Element\Identifier('X')); 58 | $superscript->setSuperscript(new Element\Numeric(2)); 59 | 60 | $math->add($superscript); 61 | ``` -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/docs/usage/writers.md: -------------------------------------------------------------------------------- 1 | 2 | ## Writers 3 | ### MathML 4 | The name of the writer is `MathML`. 5 | 6 | ``` php 7 | add(new Element\Operator('+')); 15 | 16 | $writer = new MathML(); 17 | $output = $writer->write($math); 18 | ``` 19 | 20 | ### OfficeMathML 21 | 22 | The name of the writer is `OfficeMathML`. 23 | 24 | ``` php 25 | add(new Element\Operator('+')); 33 | 34 | $writer = new OfficeMathML(); 35 | $output = $writer->write($math); 36 | ``` 37 | 38 | ## Methods 39 | 40 | ### writer 41 | 42 | The method has one parameter : 43 | 44 | * `PhpOffice\Math\Math` **$math** 45 | 46 | The method returns a `string`. -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/phpstan.neon.dist: -------------------------------------------------------------------------------- 1 | parameters: 2 | level: 7 3 | bootstrapFiles: 4 | - vendor/autoload.php 5 | paths: 6 | - src 7 | - tests 8 | reportUnmatchedIgnoredErrors: false 9 | ignoreErrors: 10 | 11 | ## Remove after remove ArrayObject 12 | treatPhpDocTypesAsCertain: false -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | ./tests/Math 13 | 14 | 15 | 16 | 17 | ./src 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | src 27 | 28 | 29 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/AbstractElement.php: -------------------------------------------------------------------------------- 1 | elements[] = $element; 15 | 16 | return $this; 17 | } 18 | 19 | public function remove(AbstractElement $element): self 20 | { 21 | $this->elements = array_filter($this->elements, function ($child) use ($element) { 22 | return $child != $element; 23 | }); 24 | 25 | return $this; 26 | } 27 | 28 | /** 29 | * @return AbstractElement[] 30 | */ 31 | public function getElements(): array 32 | { 33 | return $this->elements; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/Fraction.php: -------------------------------------------------------------------------------- 1 | setNumerator($numerator); 20 | $this->setDenominator($denominator); 21 | } 22 | 23 | public function getDenominator(): AbstractElement 24 | { 25 | return $this->denominator; 26 | } 27 | 28 | public function getNumerator(): AbstractElement 29 | { 30 | return $this->numerator; 31 | } 32 | 33 | public function setDenominator(AbstractElement $element): self 34 | { 35 | $this->denominator = $element; 36 | 37 | return $this; 38 | } 39 | 40 | public function setNumerator(AbstractElement $element): self 41 | { 42 | $this->numerator = $element; 43 | 44 | return $this; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/Identifier.php: -------------------------------------------------------------------------------- 1 | value = $value; 15 | } 16 | 17 | public function getValue(): string 18 | { 19 | return $this->value; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/Numeric.php: -------------------------------------------------------------------------------- 1 | value = $value; 15 | } 16 | 17 | public function getValue(): float 18 | { 19 | return $this->value; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/Operator.php: -------------------------------------------------------------------------------- 1 | value = $value; 15 | } 16 | 17 | public function getValue(): string 18 | { 19 | return $this->value; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/Row.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | protected $annotations = []; 13 | 14 | public function addAnnotation(string $encoding, string $annotation): self 15 | { 16 | $this->annotations[$encoding] = $annotation; 17 | 18 | return $this; 19 | } 20 | 21 | public function getAnnotation(string $encoding): ?string 22 | { 23 | return $this->annotations[$encoding] ?? null; 24 | } 25 | 26 | /** 27 | * @return array 28 | */ 29 | public function getAnnotations(): array 30 | { 31 | return $this->annotations; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Element/Superscript.php: -------------------------------------------------------------------------------- 1 | setBase($base); 20 | $this->setSuperscript($superscript); 21 | } 22 | 23 | public function getBase(): AbstractElement 24 | { 25 | return $this->base; 26 | } 27 | 28 | public function getSuperscript(): AbstractElement 29 | { 30 | return $this->superscript; 31 | } 32 | 33 | public function setBase(AbstractElement $element): self 34 | { 35 | $this->base = $element; 36 | 37 | return $this; 38 | } 39 | 40 | public function setSuperscript(AbstractElement $element): self 41 | { 42 | $this->superscript = $element; 43 | 44 | return $this; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/src/Math/Exception/InvalidInputException.php: -------------------------------------------------------------------------------- 1 | assertEquals('x', $operator->getValue()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/tests/Math/Element/NumericTest.php: -------------------------------------------------------------------------------- 1 | assertEquals(2, $numeric->getValue()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/tests/Math/Element/OperatorTest.php: -------------------------------------------------------------------------------- 1 | assertEquals('+', $operator->getValue()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/tests/Math/Element/SemanticsTest.php: -------------------------------------------------------------------------------- 1 | assertIsArray($semantics->getAnnotations()); 17 | $this->assertCount(0, $semantics->getAnnotations()); 18 | } 19 | 20 | public function testAnnotation(): void 21 | { 22 | $semantics = new Semantics(); 23 | 24 | $this->assertIsArray($semantics->getAnnotations()); 25 | $this->assertCount(0, $semantics->getAnnotations()); 26 | 27 | $this->assertInstanceOf(Semantics::class, $semantics->addAnnotation('encoding', 'content')); 28 | $this->assertEquals(['encoding' => 'content'], $semantics->getAnnotations()); 29 | $this->assertCount(1, $semantics->getAnnotations()); 30 | 31 | $this->assertEquals('content', $semantics->getAnnotation('encoding')); 32 | $this->assertNull($semantics->getAnnotation('notexisting')); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/math/tests/resources/schema/mathml3/mathml3.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/phpword/.github_changelog_generator: -------------------------------------------------------------------------------- 1 | user=PHPOffice 2 | project=PHPWord 3 | 4 | since-tag=0.18.1 5 | future-release=0.18.2 6 | 7 | issues=false 8 | pulls=true 9 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/phpword/LICENSE: -------------------------------------------------------------------------------- 1 | PHPWord, a pure PHP library for reading and writing word processing documents. 2 | 3 | Copyright (c) 2010-2016 PHPWord. 4 | 5 | PHPWord is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License version 3 as published by 7 | the Free Software Foundation. 8 | 9 | PHPWord is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU Lesser General Public License version 3 for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License version 3 15 | along with PHPWord. If not, see . 16 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/phpword/phpword.ini.dist: -------------------------------------------------------------------------------- 1 | ; Default config file for PHPWord 2 | ; Copy this file into phpword.ini and use Settings::loadConfig to load 3 | 4 | [General] 5 | 6 | compatibility = true 7 | zipClass = ZipArchive 8 | pdfRendererName = DomPDF 9 | pdfRendererPath = 10 | ; tempDir = "C:\PhpWordTemp" 11 | outputEscapingEnabled = false 12 | 13 | [Font] 14 | 15 | defaultFontName = Arial 16 | defaultFontSize = 10 17 | 18 | [Paper] 19 | 20 | defaultPaper = "A4" 21 | -------------------------------------------------------------------------------- /invlib/vendor/phpoffice/phpword/src/PhpWord/Collection/Bookmarks.php: -------------------------------------------------------------------------------- 1 | =8.0.0" 15 | }, 16 | "autoload": { 17 | "psr-4": { 18 | "Psr\\Log\\": "src" 19 | } 20 | }, 21 | "extra": { 22 | "branch-alias": { 23 | "dev-master": "3.x-dev" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /invlib/vendor/psr/log/src/AbstractLogger.php: -------------------------------------------------------------------------------- 1 | logger = $logger; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /invlib/vendor/psr/log/src/NullLogger.php: -------------------------------------------------------------------------------- 1 | logger) { }` 11 | * blocks. 12 | */ 13 | class NullLogger extends AbstractLogger 14 | { 15 | /** 16 | * Logs with an arbitrary level. 17 | * 18 | * @param mixed $level 19 | * @param string|\Stringable $message 20 | * @param array $context 21 | * 22 | * @return void 23 | * 24 | * @throws \Psr\Log\InvalidArgumentException 25 | */ 26 | public function log($level, string|\Stringable $message, array $context = []): void 27 | { 28 | // noop 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /invlib/vendor/setasign/fpdi/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2023 Setasign GmbH & Co. KG, https://www.setasign.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /invlib/vendor/setasign/fpdi/SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Security contact information 2 | 3 | To report a security vulnerability, please use the 4 | [Tidelift security contact](https://tidelift.com/security). 5 | Tidelift will coordinate the fix and disclosure. 6 | -------------------------------------------------------------------------------- /invlib/vendor/setasign/fpdi/src/FpdfTpl.php: -------------------------------------------------------------------------------- 1 | value = (bool) $value; 28 | return $v; 29 | } 30 | 31 | /** 32 | * Ensures that the passed value is a PdfBoolean instance. 33 | * 34 | * @param mixed $value 35 | * @return self 36 | * @throws PdfTypeException 37 | */ 38 | public static function ensure($value) 39 | { 40 | return PdfType::ensureType(self::class, $value, 'Boolean value expected.'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /invlib/vendor/setasign/fpdi/src/PdfParser/Type/PdfNull.php: -------------------------------------------------------------------------------- 1 | value = $value + 0; 28 | 29 | return $v; 30 | } 31 | 32 | /** 33 | * Ensures that the passed value is a PdfNumeric instance. 34 | * 35 | * @param mixed $value 36 | * @return self 37 | * @throws PdfTypeException 38 | */ 39 | public static function ensure($value) 40 | { 41 | return PdfType::ensureType(self::class, $value, 'Numeric value expected.'); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /invlib/vendor/setasign/fpdi/src/PdfParser/Type/PdfToken.php: -------------------------------------------------------------------------------- 1 | value = $token; 28 | 29 | return $v; 30 | } 31 | 32 | /** 33 | * Ensures that the passed value is a PdfToken instance. 34 | * 35 | * @param mixed $token 36 | * @return self 37 | * @throws PdfTypeException 38 | */ 39 | public static function ensure($token) 40 | { 41 | return PdfType::ensureType(self::class, $token, 'Token value expected.'); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /invlib/vendor/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php: -------------------------------------------------------------------------------- 1 |