text: 
  
  
  
  
  <!DOCTYPE html>
  <html lang="en">
    <head>
      <meta charset="utf-8">
    <link rel="dns-prefetch" href="https://github.githubassets.com">
    <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
    <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
    <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
    <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
    <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
    <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  
  
  
    <link crossorigin="anonymous" media="all" integrity="sha512-xnQIMZDOHZTyEPkXHdiwqBPPUAyzDzAU5iDJa6OfzDqwhJdI+0IyBajpzgDAKoegEWUXs4Ze9+/jGhP/OMD98w==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-c674083190ce1d94f210f9171dd8b0a8.css" />
    
      <link crossorigin="anonymous" media="all" integrity="sha512-4s9Y+xHPnYoNVFAjxj0haGH6vBhIryjdG/oiOJz8sSFNQA8JAvheEruc4DvQlv2orpbbIPPYDz3oNakdzyq7gw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-e2cf58fb11cf9d8a0d545023c63d2168.css" />
      
      
      
      
  
  
    <meta name="viewport" content="width=device-width">
    
    <title>docxtemplater-build/docxtemplater-latest.min.js at master · open-xml-templating/docxtemplater-build</title>
      <meta name="description" content="Built versions of docxtemplater. Contribute to open-xml-templating/docxtemplater-build development by creating an account on GitHub.">
      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905">
  
      <meta name="twitter:image:src" content="https://avatars2.githubusercontent.com/u/11191156?s=400&amp;v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="open-xml-templating/docxtemplater-build" /><meta name="twitter:description" content="Built versions of docxtemplater. Contribute to open-xml-templating/docxtemplater-build development by creating an account on GitHub." />
      <meta property="og:image" content="https://avatars2.githubusercontent.com/u/11191156?s=400&amp;v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="open-xml-templating/docxtemplater-build" /><meta property="og:url" content="https://github.com/open-xml-templating/docxtemplater-build" /><meta property="og:description" content="Built versions of docxtemplater. Contribute to open-xml-templating/docxtemplater-build development by creating an account on GitHub." />
  
    <link rel="assets" href="https://github.githubassets.com/">
      <link rel="web-socket" href="wss://live.github.com/_sockets/VjI6NTQzNzA5Nzk4OjQxYmU2MWNlOGVmYzU0ZTkzYzFjZWQ1MjU0NzY2OGRiYzVlYzExNGNiNTUxYTBhODcxMGI0MzJlYjA3YmIxOWU=--e8969e28774ac7bb456a94dabde7ecb125fe333d">
    <link rel="sudo-modal" href="/sessions/sudo_modal">
  
    <meta name="request-id" content="15CA:254C:25408F6:336607D:5EEBAFC4" data-pjax-transient="true" /><meta name="html-safe-nonce" content="1d4c9781726c8b1dc3a08ec4878ba07dbad0f33b" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXhtbC10ZW1wbGF0aW5nL2RvY3h0ZW1wbGF0ZXItYnVpbGQvdHJlZS9tYXN0ZXIvYnVpbGQiLCJyZXF1ZXN0X2lkIjoiMTVDQToyNTRDOjI1NDA4RjY6MzM2NjA3RDo1RUVCQUZDNCIsInZpc2l0b3JfaWQiOiI5MTIwOTkwNjk5Njg2OTE3MTgwIiwicmVnaW9uX2VkZ2UiOiJhcC1zb3V0aGVhc3QtMSIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==" data-pjax-transient="true" /><meta name="visitor-hmac" content="321af133645199f76d311ad897b1660034fc1b558d5aabcd2590b4fc370edc26" data-pjax-transient="true" />
  
  
  
    <meta name="github-keyboard-shortcuts" content="repository,source-code" data-pjax-transient="true" />
  
    
  
    <meta name="selected-link" value="repo_source" data-pjax-transient>
  
      <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
    <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
    <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
    <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
  
  <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-ga_id" content="" class="js-octo-ga-id" /><meta name="octolytics-actor-id" content="30315375" /><meta name="octolytics-actor-login" content="dfrdn" /><meta name="octolytics-actor-hash" content="4d6519a9cf981e3a5d97a7bacc3b7fa632413bf198756133ad59c240716c6527" />
  <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" />
  
  
  <meta name="optimizely-datafile" content="{&quot;version&quot;: &quot;4&quot;, &quot;rollouts&quot;: [], &quot;typedAudiences&quot;: [], &quot;anonymizeIP&quot;: true, &quot;projectId&quot;: &quot;16737760170&quot;, &quot;variables&quot;: [], &quot;featureFlags&quot;: [], &quot;experiments&quot;: [{&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;17851110682&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;17839221626&quot;, &quot;key&quot;: &quot;alternative&quot;}], &quot;id&quot;: &quot;17826890092&quot;, &quot;key&quot;: &quot;penux_disable_skipping_onboarding_survey&quot;, &quot;layerId&quot;: &quot;17851550319&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;17839221626&quot;, &quot;endOfRange&quot;: 500}, {&quot;entityId&quot;: &quot;17851110682&quot;, &quot;endOfRange&quot;: 1000}, {&quot;entityId&quot;: &quot;&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;d18c91051ffdc4de35ed2447fc96788a&quot;: &quot;alternative&quot;, &quot;8322cc693cb32128cddde2c29c4c5cc4&quot;: &quot;control&quot;}}], &quot;audiences&quot;: [{&quot;conditions&quot;: &quot;[\&quot;or\&quot;, {\&quot;match\&quot;: \&quot;exact\&quot;, \&quot;name\&quot;: \&quot;$opt_dummy_attribute\&quot;, \&quot;type\&quot;: \&quot;custom_attribute\&quot;, \&quot;value\&quot;: \&quot;$opt_dummy_value\&quot;}]&quot;, &quot;id&quot;: &quot;$opt_dummy_audience&quot;, &quot;name&quot;: &quot;Optimizely-Generated Audience for Backwards Compatibility&quot;}], &quot;groups&quot;: [{&quot;policy&quot;: &quot;random&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;18143541201&quot;, &quot;endOfRange&quot;: 3300}, {&quot;entityId&quot;: &quot;18114720754&quot;, &quot;endOfRange&quot;: 6300}], &quot;experiments&quot;: [{&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;18139971044&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;18138030889&quot;, &quot;key&quot;: &quot;alternative&quot;}], &quot;id&quot;: &quot;18143541201&quot;, &quot;key&quot;: &quot;remove_add_members_interstitial&quot;, &quot;layerId&quot;: &quot;18151051006&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;18139971044&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;18138030889&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;b25f48b6af4adda74146eb26118993e4&quot;: &quot;alternative&quot;}}, {&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;18130421188&quot;, &quot;key&quot;: &quot;alternative&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;18154990909&quot;, &quot;key&quot;: &quot;control&quot;}], &quot;id&quot;: &quot;18114720754&quot;, &quot;key&quot;: &quot;organization_survey_on_create&quot;, &quot;layerId&quot;: &quot;18136011989&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;18130421188&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;18154990909&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;facbbd135c5c9a053b2721cdca3a1880&quot;: &quot;alternative&quot;, &quot;f7d5ee986ba8bcc155e2393401c920f7&quot;: &quot;alternative&quot;}}], &quot;id&quot;: &quot;18149041560&quot;}], &quot;attributes&quot;: [{&quot;id&quot;: &quot;16822470375&quot;, &quot;key&quot;: &quot;user_id&quot;}, {&quot;id&quot;: &quot;17143601254&quot;, &quot;key&quot;: &quot;spammy&quot;}, {&quot;id&quot;: &quot;18175660309&quot;, &quot;key&quot;: &quot;organization_plan&quot;}], &quot;botFiltering&quot;: false, &quot;accountId&quot;: &quot;16737760170&quot;, &quot;events&quot;: [{&quot;experimentIds&quot;: [&quot;17826890092&quot;], &quot;id&quot;: &quot;17824172304&quot;, &quot;key&quot;: &quot;user_onboarding_survey.submit_survey.empty_response&quot;}, {&quot;experimentIds&quot;: [&quot;17826890092&quot;], &quot;id&quot;: &quot;17830380554&quot;, &quot;key&quot;: &quot;user_onboarding_survey.submit_survey&quot;}, {&quot;experimentIds&quot;: [&quot;17826890092&quot;], &quot;id&quot;: &quot;17840000207&quot;, &quot;key&quot;: &quot;user_onboarding_survey.submit_survey.responded&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;17911811441&quot;, &quot;key&quot;: &quot;hydro_click.dashboard.teacher_toolbox_cta&quot;}, {&quot;experimentIds&quot;: [&quot;18114720754&quot;], &quot;id&quot;: &quot;18124116703&quot;, &quot;key&quot;: &quot;submit.organizations.complete_sign_up&quot;}, {&quot;experimentIds&quot;: [&quot;18143541201&quot;], &quot;id&quot;: &quot;18145892387&quot;, &quot;key&quot;: &quot;no_metric.tracked_outside_of_optimizely&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18186103728&quot;, &quot;key&quot;: &quot;click.help.learn_more_about_repository_creation&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18188530140&quot;, &quot;key&quot;: &quot;test_event.do_not_use_in_production&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18191963644&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.transfer_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18195612788&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.import_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18211063248&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.create_repository&quot;}], &quot;revision&quot;: &quot;322&quot;}" />
  
      <meta name="google-analytics" content="UA-3769691-2">
  
    <meta class="js-ga-set" name="userId" content="79163c126e6e811e5220b7ff6785bf8a">
  
  <meta class="js-ga-set" name="dimension10" content="Responsive" data-pjax-transient>
  
  <meta class="js-ga-set" name="dimension1" content="Logged In">
  
  
  
    
  
        <meta name="hostname" content="github.com">
      <meta name="user-login" content="dfrdn">
  
  
        <meta name="expected-hostname" content="github.com">
  
        <meta name="js-proxy-site-detection-payload" content="N2EwMWU1MTJjZWY5NjI0MGNmODQ4ODRlNDFjYjcxZmI3OGUwN2Y0MjE2MGQ0ODVmOTZiMTMyZTg0M2M2ZDQxM3x7InJlbW90ZV9hZGRyZXNzIjoiMTIwLjI4LjEzMC4zNSIsInJlcXVlc3RfaWQiOiIxNUNBOjI1NEM6MjU0MDhGNjozMzY2MDdEOjVFRUJBRkM0IiwidGltZXN0YW1wIjoxNTkyNTA0Mjc2LCJob3N0IjoiZ2l0aHViLmNvbSJ9">
  
      <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,PAGE_STALE_CHECK,PRIMER_NEXT">
  
    <meta http-equiv="x-pjax-version" content="46030451641c55cb54c5182c2ebd7446">
    
  
        <link href="https://github.com/open-xml-templating/docxtemplater-build/commits/master.atom" rel="alternate" title="Recent Commits to docxtemplater-build:master" type="application/atom+xml">
  
    <meta name="go-import" content="github.com/open-xml-templating/docxtemplater-build git https://github.com/open-xml-templating/docxtemplater-build.git">
  
    <meta name="octolytics-dimension-user_id" content="11191156" /><meta name="octolytics-dimension-user_login" content="open-xml-templating" /><meta name="octolytics-dimension-repository_id" content="40808874" /><meta name="octolytics-dimension-repository_nwo" content="open-xml-templating/docxtemplater-build" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="40808874" /><meta name="octolytics-dimension-repository_network_root_nwo" content="open-xml-templating/docxtemplater-build" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" />
  
  
      <link rel="canonical" href="https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js" data-pjax-transient>
  
  
    <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
  
    <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
  
    <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
    <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
    <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
  
  <meta name="theme-color" content="#1e2327">
  
  
    <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
  
    </head>
  
    <body class="logged-in env-production page-responsive page-blob">
      
  
      <div class="position-relative js-header-wrapper ">
        <a href="#start-of-content" class="p-3 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a>
        <span class="Progress progress-pjax-loader position-fixed width-full js-pjax-loader-bar">
          <span class="progress-pjax-loader-bar top-0 left-0" style="width: 0%;"></span>
        </span>
  
        
        
  
  
  
            <header class="Header py-lg-0 js-details-container Details flex-wrap flex-lg-nowrap p-responsive" role="banner">
    <div class="Header-item d-none d-lg-flex">
      <a class="Header-link" href="https://github.com/" data-hotkey="g d"
    aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo">
    <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
  </a>
  
    </div>
  
    <div class="Header-item d-lg-none">
      <button class="Header-link btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
        <svg height="24" class="octicon octicon-three-bars" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path></svg>
      </button>
    </div>
  
    <div class="Header-item Header-item--full flex-column flex-lg-row width-full flex-order-2 flex-lg-order-none mr-0 mr-lg-3 mt-3 mt-lg-0 Details-content--hidden">
          <div class="header-search header-search-current js-header-search-current  flex-self-stretch flex-lg-self-auto mr-0 mr-lg-3 mb-3 mb-lg-0 scoped-search site-scoped-search js-site-search position-relative js-jump-to js-header-search-current-jump-to"
    role="combobox"
    aria-owns="jump-to-results"
    aria-label="Search or jump to"
    aria-haspopup="listbox"
    aria-expanded="false"
  >
    <div class="position-relative">
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="40808874" data-scoped-search-url="/open-xml-templating/docxtemplater-build/search" data-unscoped-search-url="/search" action="/open-xml-templating/docxtemplater-build/search" accept-charset="UTF-8" method="get">
        <label class="form-control input-sm header-search-wrapper p-0 header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container">
          <input type="text"
            class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
            data-hotkey="s,/"
            name="q"
            value=""
            placeholder="Search or jump to…"
            data-unscoped-placeholder="Search or jump to…"
            data-scoped-placeholder="Search or jump to…"
            autocapitalize="off"
            aria-autocomplete="list"
            aria-controls="jump-to-results"
            aria-label="Search or jump to…"
            data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
            spellcheck="false"
            autocomplete="off"
            >
            <input type="hidden" value="IhTCocHiZCYzasCFYh3UJHZsAH30lctYmac3WtiDCIqNa30cj70j6WL3Up9kEPlG8ZGH5azZXv7X7VmJpmTf0w==" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" />
            <input type="hidden" class="js-site-search-type-field" name="type" >
              <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash">
  
              <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
                
  <ul class="d-none js-jump-to-suggestions-template-container">
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
        <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
        <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
          In this repository
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
  </ul>
  
  <ul class="d-none js-jump-to-no-results-template-container">
    <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
      <span class="text-gray">No suggested jump to results</span>
    </li>
  </ul>
  
  <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
        <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
        <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
          In this repository
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
        <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
        <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
          In this repository
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
  
      <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion">
        <img src="https://github.githubassets.com/images/spinners/octocat-spinner-128.gif" alt="Octocat Spinner Icon" class="m-2" width="28">
      </li>
  </ul>
  
              </div>
        </label>
  </form>  </div>
  </div>
  
  
      <nav class="d-flex flex-column flex-lg-row flex-self-stretch flex-lg-self-auto" aria-label="Global">
      <a class="Header-link py-lg-3 d-block d-lg-none py-2 border-top border-lg-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard">
        Dashboard
  </a>
    <a class="js-selected-navigation-item Header-link py-lg-3  mr-0 mr-lg-3 py-2 border-top border-lg-top-0 border-white-fade-15" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls">
      Pull requests
  </a>
    <a class="js-selected-navigation-item Header-link py-lg-3  mr-0 mr-lg-3 py-2 border-top border-lg-top-0 border-white-fade-15" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues">
      Issues
  </a>
  
      <div class="mr-0 mr-lg-3 py-2 py-lg-0 border-top border-lg-top-0 border-white-fade-15">
        <a class="js-selected-navigation-item Header-link py-lg-3 d-inline-block" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace">
          Marketplace
  </a>      
  
      </div>
  
    <a class="js-selected-navigation-item Header-link py-lg-3  mr-0 mr-lg-3 py-2 border-top border-lg-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">
      Explore
  </a>
  
  
      <a class="Header-link d-block d-lg-none mr-0 mr-lg-3 py-2 py-lg-3 border-top border-lg-top-0 border-white-fade-15" href="/dfrdn">
        <img class="avatar avatar-user" src="https://avatars2.githubusercontent.com/u/30315375?s=40&amp;v=4" width="20" height="20" alt="@dfrdn" />
        dfrdn
  </a>
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="mM2lMPi9xgJXpN79Dhf/DxKRutVfIFH0l0OKFDvlf6leihRy1jnhVGsG3D5t9iIgRwkzulasBYK6OGKxvJIYrg==" />
        <button type="submit" class="Header-link mr-0 mr-lg-3 py-2 py-lg-3 border-top border-lg-top-0 border-white-fade-15 d-lg-none btn-link d-block width-full text-left" data-ga-click="Header, sign out, icon:logout" style="padding-left: 2px;">
          <svg class="octicon octicon-sign-out v-align-middle" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path></svg>
          Sign out
        </button>
  </form></nav>
  
    </div>
  
    <div class="Header-item Header-item--full flex-justify-center d-lg-none position-relative">
      <div class="css-truncate css-truncate-target width-fit position-absolute left-0 right-0 text-center">
                  <svg class="octicon octicon-repo" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
      <a class="Header-link" href="/open-xml-templating">open-xml-templating</a>
      /
      <a class="Header-link" href="/open-xml-templating/docxtemplater-build">docxtemplater-build</a>
  
  </div>
    </div>
  
    <div class="Header-item mr-0 mr-lg-3 flex-order-1 flex-lg-order-none">
      
      <a aria-label="You have no unread notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw js-socket-channel js-notification-indicator" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-channel="notification-changed:30315375" href="/notifications">
          <span class="js-indicator-modifier mail-status "></span>
          <svg class="octicon octicon-bell" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg>
  </a>
    </div>
  
  
    <div class="Header-item position-relative d-none d-lg-flex">
      <details class="details-overlay details-reset">
    <summary class="Header-link"
        aria-label="Create new…"
        data-ga-click="Header, create new, icon:add">
      <svg class="octicon octicon-plus" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z"></path></svg> <span class="dropdown-caret"></span>
    </summary>
    <details-menu class="dropdown-menu dropdown-menu-sw mt-n2">
      
  <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository">
    New repository
  </a>
  
    <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository">
      Import repository
    </a>
  
  <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist">
    New gist
  </a>
  
    <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization">
      New organization
    </a>
  
  
    <div role="none" class="dropdown-divider"></div>
    <div class="dropdown-header">
      <span title="open-xml-templating/docxtemplater-build">This repository</span>
    </div>
      <a role="menuitem" class="dropdown-item" href="/open-xml-templating/docxtemplater-build/issues/new/choose" data-ga-click="Header, create new issue" data-skip-pjax>
        New issue
      </a>
  
  
    </details-menu>
  </details>
  
    </div>
  
    <div class="Header-item position-relative mr-0 d-none d-lg-flex">
      
    <details class="details-overlay details-reset js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/dfrdn/feature_preview/indicator_check">
  
    <summary class="Header-link"
      aria-label="View profile and more"
      data-ga-click="Header, show menu, icon:avatar">
      <img
    alt="@dfrdn"
    width="20"
    height="20"
    src="https://avatars1.githubusercontent.com/u/30315375?s=60&amp;v=4"
    class="avatar avatar-user " />
  
        <span class="feature-preview-indicator js-feature-preview-indicator" style="top: 10px;" hidden></span>
      <span class="dropdown-caret"></span>
    </summary>
    <details-menu class="dropdown-menu dropdown-menu-sw mt-n2" style="width: 180px">
      <div class="header-nav-current-user css-truncate"><a role="menuitem" class="no-underline user-profile-link px-3 pt-2 pb-2 mb-n2 mt-n1 d-block" href="/dfrdn" data-ga-click="Header, go to profile, text:Signed in as">Signed in as <strong class="css-truncate-target">dfrdn</strong></a></div>
      <div role="none" class="dropdown-divider"></div>
  
        <div class="pl-3 pr-3 f6 user-status-container js-user-status-context lh-condensed" data-url="/users/status?compact=1&amp;link_mentions=0&amp;truncate=1">
          
  <div class="js-user-status-container rounded-1 px-2 py-1 mt-2 border"
    data-team-hovercards-enabled>
    <details class="js-user-status-details details-reset details-overlay details-overlay-dark">
      <summary class="btn-link btn-block link-gray no-underline js-toggle-user-status-edit toggle-user-status-edit "
        role="menuitem" data-hydro-click="{&quot;event_type&quot;:&quot;user_profile.click&quot;,&quot;payload&quot;:{&quot;profile_user_id&quot;:11191156,&quot;target&quot;:&quot;EDIT_USER_STATUS&quot;,&quot;user_id&quot;:30315375,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;}}" data-hydro-click-hmac="c9a688ac1f68eee1d2c0272d5bc8f4ab88927874f73dc6fa97342c8ccbf4e94a">
        <div class="d-flex flex-items-center flex-items-stretch">
          <div class="f6 lh-condensed user-status-header d-flex user-status-emoji-only-header circle">
            <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center lh-condensed-ultra v-align-bottom">
              <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg>
            </div>
          </div>
          <div class="
            
             user-status-message-wrapper f6 min-width-0"
             style="line-height: 20px;" >
            <div class="css-truncate css-truncate-target width-fit text-gray-dark text-left">
                <span class="text-gray">Set status</span>
            </div>
          </div>
        </div>
      </summary>
      <details-dialog class="details-dialog rounded-1 anim-fade-in fast Box Box--overlay" role="dialog" tabindex="-1">
        <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" action="/users/status?circle=0&amp;compact=1&amp;link_mentions=0&amp;truncate=1" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="MUybHqNEAIyzHtfe5uqMxkk8vedTdv0VghMYesz7t3N2fgzRj17UdqZzpjwKJ6r85y/dHDWLaRiqvtPY0s/QqA==" />
          <div class="Box-header bg-gray border-bottom p-3">
            <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog>
              <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
            </button>
            <h3 class="Box-title f5 text-bold text-gray-dark">Edit status</h3>
          </div>
          <input type="hidden" name="emoji" class="js-user-status-emoji-field" value="">
          <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value="">
          <div class="px-3 py-2 text-gray-dark">
            <div class="js-characters-remaining-container position-relative mt-2">
              <div class="input-group d-table form-group my-0 js-user-status-form-group">
                <span class="input-group-button d-table-cell v-align-middle" style="width: 1%">
                  <button type="button" aria-label="Choose an emoji" class="btn-outline btn js-toggle-user-status-emoji-picker btn-open-emoji-picker p-0">
                    <span class="js-user-status-original-emoji" hidden></span>
                    <span class="js-user-status-custom-emoji"></span>
                    <span class="js-user-status-no-emoji-icon" >
                      <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg>
                    </span>
                  </button>
                </span>
                <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji">
                  <input
                    type="text"
                    autocomplete="off"
                    data-no-org-url="/autocomplete/user-suggestions"
                    data-org-url="/suggestions?mention_suggester=1"
                    data-maxlength="80"
                    class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field"
                    placeholder="What's happening?"
                    name="message"
                    value=""
                    aria-label="What is your current status?">
                </text-expander>
                <div class="error">Could not update your status, please try again.</div>
              </div>
              <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden>
                80 remaining
              </div>
            </div>
            <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment>
            <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh">
              <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden">
                <h4 class="f6 text-normal my-3">Suggestions:</h4>
                <div class="mx-3 mt-2 clearfix">
                    <div class="float-left col-6">
                        <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1">
                          <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji">
                            <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji>
                          </div>
                          <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent">
                            On vacation
                          </div>
                        </button>
                        <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1">
                          <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji">
                            <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji>
                          </div>
                          <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent">
                            Out sick
                          </div>
                        </button>
                    </div>
                    <div class="float-left col-6">
                        <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1">
                          <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji">
                            <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji>
                          </div>
                          <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent">
                            Working from home
                          </div>
                        </button>
                        <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1">
                          <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji">
                            <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji>
                          </div>
                          <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent">
                            Focusing
                          </div>
                        </button>
                    </div>
                </div>
              </div>
              <div class="user-status-limited-availability-container">
                <div class="form-checkbox my-0">
                  <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-true-compact-true" id="limited-availability-truncate-true-compact-true">
                  <label class="d-block f5 text-gray-dark mb-1" for="limited-availability-truncate-true-compact-true">
                    Busy
                  </label>
                  <p class="note" id="limited-availability-help-text-truncate-true-compact-true">
                    When others mention you, assign you, or request your review,
                    GitHub will let them know that you have limited availability.
                  </p>
                </div>
              </div>
            </div>
            <div class="d-inline-block f5 mr-2 pt-3 pb-2" >
    <div class="d-inline-block mr-1">
      Clear status
    </div>
  
    <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2">
      <summary class="f5 btn-link link-gray-dark border px-2 py-1 rounded-1" aria-haspopup="true">
        <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline">
          Never
        </div>
        <div class="dropdown-caret"></div>
      </summary>
  
      <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em">
        <li>
          <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never">
            <span class="d-inline-block text-bold mb-1">Never</span>
            <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div>
          </button>
        </li>
        <li class="dropdown-divider" role="none"></li>
          <li>
            <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2020-06-19T02:47:56+08:00">
              in 30 minutes
            </button>
          </li>
          <li>
            <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2020-06-19T03:17:56+08:00">
              in 1 hour
            </button>
          </li>
          <li>
            <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2020-06-19T06:17:56+08:00">
              in 4 hours
            </button>
          </li>
          <li>
            <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2020-06-19T23:59:59+08:00">
              today
            </button>
          </li>
          <li>
            <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2020-06-21T23:59:59+08:00">
              this week
            </button>
          </li>
      </ul>
    </details>
    <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value="">
  </div>
  
            <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment>
          </div>
          <div class="d-flex flex-items-center flex-justify-between p-3 border-top">
            <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit">
              Set status
            </button>
            <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 ">
              Clear status
            </button>
          </div>
  </form>    </details-dialog>
    </details>
  </div>
  
        </div>
        <div role="none" class="dropdown-divider"></div>
  
      <a role="menuitem" class="dropdown-item" href="/dfrdn" data-ga-click="Header, go to profile, text:your profile">Your profile</a>
  
      <a role="menuitem" class="dropdown-item" href="/dfrdn?tab=repositories" data-ga-click="Header, go to repositories, text:your repositories">Your repositories</a>
  
  
      <a role="menuitem" class="dropdown-item" href="/dfrdn?tab=projects" data-ga-click="Header, go to projects, text:your projects">Your projects</a>
  
      <a role="menuitem" class="dropdown-item" href="/dfrdn?tab=stars" data-ga-click="Header, go to starred repos, text:your stars">Your stars</a>
        <a role="menuitem" class="dropdown-item" href="https://gist.github.com/mine" data-ga-click="Header, your gists, text:your gists">Your gists</a>
  
  
  
  
  
      <div role="none" class="dropdown-divider"></div>
        <a role="menuitem" class="dropdown-item" href="/settings/billing" data-ga-click="Header, go to billing, text:upgrade" >Upgrade</a>
        
  <div id="feature-enrollment-toggle" class="hide-sm hide-md feature-preview-details position-relative">
    <button
      type="button"
      class="dropdown-item btn-link"
      role="menuitem"
      data-feature-preview-trigger-url="/users/dfrdn/feature_previews"
      data-feature-preview-close-details="{&quot;event_type&quot;:&quot;feature_preview.clicks.close_modal&quot;,&quot;payload&quot;:{&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}"
      data-feature-preview-close-hmac="789b1cd684ed77f32769c5f8b41dfdb5e291dab3b7076347e2d135229f445ff7"
      data-hydro-click="{&quot;event_type&quot;:&quot;feature_preview.clicks.open_modal&quot;,&quot;payload&quot;:{&quot;link_location&quot;:&quot;user_dropdown&quot;,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}"
      data-hydro-click-hmac="3508d910da69b8dbc09a90ddc7186a17b69ce0c9adede7ca4fcc55b60df17f30"
    >
      Feature preview
    </button>
      <span class="feature-preview-indicator js-feature-preview-indicator" hidden></span>
  </div>
  
      <a role="menuitem" class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">Help</a>
      <a role="menuitem" class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">Settings</a>
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="logout-form" action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="G4qNoNDaWjTrJCySAUe0QjXG/dzq9zS8TMnVUkygqOTdzTzi/l59YteGLlFipmltYF50s+N7YMphsj33y9fP4w==" />
        
        <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout" role="menuitem">
          Sign out
        </button>
        <input type="text" name="required_field_86bd" hidden="hidden" class="form-control" /><input type="hidden" name="timestamp" value="1592504276898" class="form-control" /><input type="hidden" name="timestamp_secret" value="054de52014fa6f694331f4bc2315e2e36ff27506fb4eb62915c4e1adc46b836f" class="form-control" />
  </form>  </details-menu>
  </details>
  
    </div>
  
  </header>
  
          
  
      </div>
  
    <div id="start-of-content" class="show-on-focus"></div>
  
  
  
  
      <div id="js-flash-container">
  
  
    <template class="js-flash-template">
      <div class="flash flash-full  js-flash-template-container">
    <div class="container-lg px-2" >
      <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
        <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
      </button>
      
        <div class="js-flash-template-message"></div>
  
    </div>
  </div>
    </template>
  </div>
  
  
        
  
    <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
  
  
  
  
    <div class="application-main " data-commit-hovercards-enabled>
          <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
      <main  >
        
  
    
  
  
        <div class="border-bottom shelf intro-shelf js-notice mb-0 pb-4">
    <div class="width-full container">
      <div class="width-full mx-auto shelf-content">
        <h2 class="shelf-title">Learn Git and GitHub without any code!</h2>
        <p class="shelf-lead">
            Using the Hello World guide, you’ll start a branch, write comments, and open a pull request.
        </p>
        <a class="btn btn-primary shelf-cta" target="_blank" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;READ_GUIDE&quot;,&quot;repository_id&quot;:40808874,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="d4ac4066124fc05701a1c141e7b644fb2100876dbcad928233e2b112bec578a3" href="https://guides.github.com/activities/hello-world/">Read the guide</a>
      </div>
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="shelf-dismiss js-notice-dismiss" action="/dashboard/dismiss_bootcamp" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="delete" /><input type="hidden" name="authenticity_token" value="GWO3ZY5M/K3HIap/ecaVa4XcLWXBKslQ2TzxgUAsZHEGKTQyeX9sAnVU2VvKUZJ8XzvDv5JFc0rYp2r9Un5crQ==" />
        <button name="button" type="submit" class="mr-1 close-button tooltipped tooltipped-w" aria-label="Hide this notice forever" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;DISMISS_BANNER&quot;,&quot;repository_id&quot;:40808874,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="917849ac53307ca4b38b7a566821fdb1e4f32ea0d9fbda0119ab48886e313978">
          <svg aria-label="Hide this notice forever" class="octicon octicon-x v-align-text-top" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
  </button></form>  </div>
  </div>
  
  
  
    
  
  
  
  
  
  
  
  
  
  
    <div class="pagehead repohead hx_repohead readability-menu bg-gray-light pb-0 pt-0 pt-lg-3">
  
      <div class="d-flex container-lg mb-4 p-responsive d-none d-lg-flex">
  
        <div class="flex-auto min-width-0 width-fit mr-3">
          <h1 class="public  d-flex flex-wrap flex-items-center break-word float-none ">
    <span class="flex-self-stretch" style="margin-top: -2px;">
        <svg class="octicon octicon-repo" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
    </span>
    <span class="author ml-2 flex-self-stretch" itemprop="author">
      <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/open-xml-templating/hovercard" href="/open-xml-templating">open-xml-templating</a>
    </span>
    <span class="path-divider flex-self-stretch">/</span>
    <strong itemprop="name" class="mr-2 flex-self-stretch">
      <a data-pjax="#js-repo-pjax-container" href="/open-xml-templating/docxtemplater-build">docxtemplater-build</a>
    </strong>
    
  </h1>
  
  
        </div>
  
        <ul class="pagehead-actions flex-shrink-0 " >
  
  
  
  
    <li>
      
  
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-remote="true" class="js-social-form js-social-container clearfix" action="/notifications/subscribe" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="XfZvJKuj9iSJa0BYbFkYdebYaV8SW+YYNfTPrs/2w54xK2ZymflovMddKCF551Ii1wzQY/PD9Di/xSEwOXOJhA==" />      <input type="hidden" name="repository_id" value="40808874">
  
        <details class="details-reset details-overlay select-menu float-left" >
          <summary class="select-menu-button float-left btn btn-sm btn-with-count" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;WATCH_BUTTON&quot;,&quot;repository_id&quot;:40808874,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="6b13e4e9d1dc249136822fdb4030065e47c2bffcf0edc2c0f821c9a53f5e7682" data-ga-click="Repository, click Watch settings, action:blob#show">          <span data-menu-button>
                <svg class="octicon octicon-eye" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg>
                Watch
            </span>
  </summary>        <details-menu
            class="select-menu-modal position-absolute mt-5 "
            style="z-index: 99;">
            <div class="select-menu-header">
              <span class="select-menu-title">Notifications</span>
            </div>
            <div class="select-menu-list">
              <button
                type="submit"
                name="do"
                value="included"
                class="select-menu-item width-full"
                aria-checked="true"
                role="menuitemradio"
                
              >
                <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>
                <div class="select-menu-item-text">
                  <span class="select-menu-item-heading">Not watching</span>
                  <span class="description">Be notified only when participating or @mentioned.</span>
                  <span class="hidden-select-button-text" data-menu-button-contents>
                    <svg class="octicon octicon-eye" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg>
                    Watch
                  </span>
                </div>
              </button>
  
              <button type="submit" name="do" value="release_only" class="select-menu-item width-full" aria-checked="false" role="menuitemradio">
                <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>
                <div class="select-menu-item-text">
                  <span class="select-menu-item-heading">Releases only</span>
                  <span class="description">Be notified of new releases, and when participating or @mentioned.</span>
                  <span class="hidden-select-button-text" data-menu-button-contents>
                    <svg class="octicon octicon-eye" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg>
                    Unwatch releases
                  </span>
                </div>
              </button>
  
              <button type="submit" name="do" value="subscribed" class="select-menu-item width-full" aria-checked="false" role="menuitemradio">
                <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>
                <div class="select-menu-item-text">
                  <span class="select-menu-item-heading">Watching</span>
                  <span class="description">Be notified of all conversations.</span>
                  <span class="hidden-select-button-text" data-menu-button-contents>
                    <svg class="octicon octicon-eye" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg>
                    Unwatch
                  </span>
                </div>
              </button>
  
              <button type="submit" name="do" value="ignore" class="select-menu-item width-full" aria-checked="false" role="menuitemradio">
                <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>
                <div class="select-menu-item-text">
                  <span class="select-menu-item-heading">Ignoring</span>
                  <span class="description">Never be notified.</span>
                  <span class="hidden-select-button-text" data-menu-button-contents>
                    <svg class="octicon octicon-mute" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.75a.75.75 0 00-1.238-.57L3.472 5H1.75A1.75 1.75 0 000 6.75v2.5C0 10.216.784 11 1.75 11h1.723l3.289 2.82A.75.75 0 008 13.25V2.75zM4.238 6.32L6.5 4.38v7.24L4.238 9.68a.75.75 0 00-.488-.18h-2a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h2a.75.75 0 00.488-.18zm7.042-1.1a.75.75 0 10-1.06 1.06L11.94 8l-1.72 1.72a.75.75 0 101.06 1.06L13 9.06l1.72 1.72a.75.75 0 101.06-1.06L14.06 8l1.72-1.72a.75.75 0 00-1.06-1.06L13 6.94l-1.72-1.72z"></path></svg>
                    Stop ignoring
                  </span>
                </div>
              </button>
            </div>
          </details-menu>
        </details>
          <a class="social-count js-social-count"
            href="/open-xml-templating/docxtemplater-build/watchers"
            aria-label="4 users are watching this repository">
            4
          </a>
  </form>
    </li>
  
    <li>
        <div class="js-toggler-container js-social-container starring-container ">
      <form class="starred js-social-form" action="/open-xml-templating/docxtemplater-build/unstar" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="WyF9sLMFZPCefPmIuxYawlDoMSf+UrdkLMe1KDEAByQbVRxcPyowSf2aUg0Ac9kTN9JZaSejR/8tjj7xizF2/A==" />
        <input type="hidden" name="context" value="repository"></input>
        <button type="submit" class="btn btn-sm btn-with-count  js-toggler-target" aria-label="Unstar this repository" title="Unstar open-xml-templating/docxtemplater-build" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;UNSTAR_BUTTON&quot;,&quot;repository_id&quot;:40808874,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="0fdeebbb03f1bb71b62ac4a03ea5b31cddb4a0c801f41f90c8618788e8ace7fa" data-ga-click="Repository, click unstar button, action:blob#show; text:Unstar">        <svg height="16" class="octicon octicon-star-fill" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z"></path></svg>
  
          Unstar
  </button>        <a class="social-count js-social-count" href="/open-xml-templating/docxtemplater-build/stargazers"
             aria-label="11 users starred this repository">
             11
          </a>
  </form>
      <form class="unstarred js-social-form" action="/open-xml-templating/docxtemplater-build/star" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="eb8e3lb0uozdnpKW7vfBVr43t96ZRpJHJinB+neUuyIzxYzQOw22oFL3fg80fgQQLTAs2YNWpJsgKOf/h/fkDA==" />
        <input type="hidden" name="context" value="repository"></input>
        <button type="submit" class="btn btn-sm btn-with-count  js-toggler-target" aria-label="Unstar this repository" title="Star open-xml-templating/docxtemplater-build" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;STAR_BUTTON&quot;,&quot;repository_id&quot;:40808874,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="5c29b88f4b72625bd7b6fe8a8ae6505fa8ebd7ae55b57df2c87c9d4ac5354b14" data-ga-click="Repository, click star button, action:blob#show; text:Star">        <svg height="16" class="octicon octicon-star" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path></svg>
  
          Star
  </button>        <a class="social-count js-social-count" href="/open-xml-templating/docxtemplater-build/stargazers"
             aria-label="11 users starred this repository">
            11
          </a>
  </form>  </div>
  
    </li>
  
    <li>
            <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="btn-with-count" action="/open-xml-templating/docxtemplater-build/fork" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="noKHe6vxLK8M5et95jnlm3wFpkTXI9A0tPsfdy0tAI1bmcfgtOaDRlTp86oR32yxSIFQIRHxGH3v4kEC2Q7OSw==" />
              <button class="btn btn-sm btn-with-count" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;FORK_BUTTON&quot;,&quot;repository_id&quot;:40808874,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="4d057aaa125ff30ba63e4963dd117f104f92a1295c942fb4dbfa16b3420042a2" data-ga-click="Repository, show fork modal, action:blob#show; text:Fork" type="submit" title="Fork your own copy of open-xml-templating/docxtemplater-build to your account" aria-label="Fork your own copy of open-xml-templating/docxtemplater-build to your account">              <svg class="octicon octicon-repo-forked" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path></svg>
                Fork
  </button></form>
      <a href="/open-xml-templating/docxtemplater-build/network/members" class="social-count"
         aria-label="101 users forked this repository">
        101
      </a>
    </li>
  </ul>
  
      </div>
        <nav class="js-repo-nav js-sidenav-container-pjax clearfix hx_reponav reponav p-responsive d-none d-lg-block container-lg"
       itemscope
       itemtype="http://schema.org/BreadcrumbList"
      aria-label="Repository"
       data-pjax="#js-repo-pjax-container">
    <ul class="list-style-none">
      <li  itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-ga-click="Repository, Navigation click, Code tab" data-hotkey="g c" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /open-xml-templating/docxtemplater-build" href="/open-xml-templating/docxtemplater-build">
          <div class="d-inline"><svg class="octicon octicon-code" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path></svg></div>
          <span itemprop="name">Code</span>
          <meta itemprop="position" content="1">
  </a>    </li>
  
        <li  itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
          <a itemprop="url" data-ga-click="Repository, Navigation click, Issues tab" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /open-xml-templating/docxtemplater-build/issues" href="/open-xml-templating/docxtemplater-build/issues">
            <div class="d-inline"><svg class="octicon octicon-issue-opened" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"></path></svg></div>
            <span itemprop="name">Issues</span>
            <span class="Counter">0</span>
            <meta itemprop="position" content="2">
  </a>      </li>
  
      <li  itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a data-hotkey="g p" data-skip-pjax="true" itemprop="url" data-ga-click="Repository, Navigation click, Pull requests tab" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /open-xml-templating/docxtemplater-build/pulls" href="/open-xml-templating/docxtemplater-build/pulls">
          <div class="d-inline"><svg class="octicon octicon-git-pull-request" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path></svg></div>
          <span itemprop="name">Pull requests</span>
          <span class="Counter">0</span>
          <meta itemprop="position" content="4">
  </a>    </li>
  
  
        <li itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement" class="position-relative float-left ">
          <a data-hotkey="g w" data-skip-pjax="true" data-ga-click="Repository, Navigation click, Actions tab" class="js-selected-navigation-item reponav-item" data-selected-links="repo_actions /open-xml-templating/docxtemplater-build/actions" href="/open-xml-templating/docxtemplater-build/actions">
            <div class="d-inline"><svg class="octicon octicon-play" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path></svg></div>
            Actions
  </a>
        </li>
  
        <li >
          <a data-hotkey="g b" data-ga-click="Repository, Navigation click, Projects tab" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /open-xml-templating/docxtemplater-build/projects" href="/open-xml-templating/docxtemplater-build/projects">
            <div class="d-inline"><svg class="octicon octicon-project" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg></div>
            Projects
            <span class="Counter">0</span>
  </a>      </li>
  
        <li >
          <a data-ga-click="Repository, Navigation click, Wikis tab" class="js-selected-navigation-item reponav-item" data-hotkey="g w" data-selected-links="repo_wiki /open-xml-templating/docxtemplater-build/wiki" href="/open-xml-templating/docxtemplater-build/wiki">
            <div class="d-inline"><svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path></svg></div>
            Wiki
  </a>      </li>
  
        <li >
          <a data-skip-pjax="true" data-ga-click="Repository, Navigation click, Security tab" class="js-selected-navigation-item reponav-item" data-selected-links="security overview alerts policy token_scanning code_scanning /open-xml-templating/docxtemplater-build/security" href="/open-xml-templating/docxtemplater-build/security">
            <div class="d-inline"><svg class="octicon octicon-shield" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path></svg></div>
            Security
              <span class="Counter js-security-tab-count" data-url="/open-xml-templating/docxtemplater-build/security/overall-count" hidden></span>
  </a>      </li>
  
        <li >
          <a data-ga-click="Repository, Navigation click, Insights tab" class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people /open-xml-templating/docxtemplater-build/pulse" href="/open-xml-templating/docxtemplater-build/pulse">
            <div class="d-inline"><svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path></svg></div>
            Insights
  </a>      </li>
  
  
    </ul>
  </nav>
  
    <div class="reponav-wrapper reponav-small d-lg-none">
    <nav class="reponav js-reponav text-center no-wrap"
         itemscope
         itemtype="http://schema.org/BreadcrumbList">
  
      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a class="js-selected-navigation-item selected reponav-item" itemprop="url" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /open-xml-templating/docxtemplater-build" href="/open-xml-templating/docxtemplater-build">
          <span itemprop="name">Code</span>
          <meta itemprop="position" content="1">
  </a>    </span>
  
        <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
          <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /open-xml-templating/docxtemplater-build/issues" href="/open-xml-templating/docxtemplater-build/issues">
            <span itemprop="name">Issues</span>
            <span class="Counter">0</span>
            <meta itemprop="position" content="2">
  </a>      </span>
  
      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /open-xml-templating/docxtemplater-build/pulls" href="/open-xml-templating/docxtemplater-build/pulls">
          <span itemprop="name">Pull requests</span>
          <span class="Counter">0</span>
          <meta itemprop="position" content="4">
  </a>    </span>
  
  
        <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
          <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /open-xml-templating/docxtemplater-build/projects" href="/open-xml-templating/docxtemplater-build/projects">
            <span itemprop="name">Projects</span>
            <span class="Counter">0</span>
            <meta itemprop="position" content="5">
  </a>      </span>
  
        <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
          <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_actions /open-xml-templating/docxtemplater-build/actions" href="/open-xml-templating/docxtemplater-build/actions">
            <span itemprop="name">Actions</span>
            <meta itemprop="position" content="6">
  </a>      </span>
  
        <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
          <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_wiki /open-xml-templating/docxtemplater-build/wiki" href="/open-xml-templating/docxtemplater-build/wiki">
            <span itemprop="name">Wiki</span>
            <meta itemprop="position" content="7">
  </a>      </span>
  
        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="security overview alerts policy token_scanning code_scanning /open-xml-templating/docxtemplater-build/security" href="/open-xml-templating/docxtemplater-build/security">
          <span itemprop="name">Security</span>
            <span class="Counter js-security-deferred-tab-count" hidden></span>
          <meta itemprop="position" content="8">
  </a>
        <a class="js-selected-navigation-item reponav-item" data-selected-links="pulse /open-xml-templating/docxtemplater-build/pulse" href="/open-xml-templating/docxtemplater-build/pulse">
          Pulse
  </a>
        <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
          <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="community /open-xml-templating/docxtemplater-build/community" href="/open-xml-templating/docxtemplater-build/community">
            Community
  </a>      </span>
  
    </nav>
  </div>
  
  
    </div>
  
    
  
    <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
  
  
  <div class="container-lg clearfix new-discussion-timeline  p-responsive">
    <div class="repository-content ">
  
      
      
  
    
  
  
      <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/open-xml-templating/docxtemplater-build/blob/fa87b045786e4c28ef2a0d03e4213bb47880731c/build/docxtemplater-latest.min.js">Permalink</a>
  
      <!-- blob contrib key: blob_contributors:v22:856618ef831a61dbab6d852ed2f5bba6 -->
      
  
      <div class="d-flex flex-items-center flex-shrink-0 pb-3 flex-wrap flex-justify-between flex-md-justify-start">
        
  <details class="details-reset details-overlay branch-select-menu " id="branch-select-menu">
    <summary class="btn css-truncate btn-sm"
             data-hotkey="w"
             title="Switch branches or tags">
      <i >Branch:</i>
      <span class="css-truncate-target" data-menu-button>master</span>
      <span class="dropdown-caret"></span>
    </summary>
  
    <details-menu class="SelectMenu SelectMenu--hasFilter" src="/open-xml-templating/docxtemplater-build/refs/master/build/docxtemplater-latest.min.js?source_action=show&amp;source_controller=blob" preload>
      <div class="SelectMenu-modal">
        <include-fragment class="SelectMenu-loading" aria-label="Menu is loading">
          <svg class="octicon octicon-octoface anim-pulse" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M14.7 5.34c.13-.32.55-1.59-.13-3.31 0 0-1.05-.33-3.44 1.3-1-.28-2.07-.32-3.13-.32s-2.13.04-3.13.32c-2.39-1.64-3.44-1.3-3.44-1.3-.68 1.72-.26 2.99-.13 3.31C.49 6.21 0 7.33 0 8.69 0 13.84 3.33 15 7.98 15S16 13.84 16 8.69c0-1.36-.49-2.48-1.3-3.35zM8 14.02c-3.3 0-5.98-.15-5.98-3.35 0-.76.38-1.48 1.02-2.07 1.07-.98 2.9-.46 4.96-.46 2.07 0 3.88-.52 4.96.46.65.59 1.02 1.3 1.02 2.07 0 3.19-2.68 3.35-5.98 3.35zM5.49 9.01c-.66 0-1.2.8-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.54-1.78-1.2-1.78zm5.02 0c-.66 0-1.2.79-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.53-1.78-1.2-1.78z"></path></svg>
        </include-fragment>
      </div>
    </details-menu>
  </details>
  
        <h2 id="blob-path" class="breadcrumb flex-auto min-width-0 text-normal mx-0 mx-md-3 width-full width-md-auto flex-order-1 flex-md-order-none mt-3 mt-md-0">
          <span class="js-repo-root text-bold"><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/open-xml-templating/docxtemplater-build"><span>docxtemplater-build</span></a></span></span><span class="separator">/</span><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/open-xml-templating/docxtemplater-build/tree/master/build"><span>build</span></a></span><span class="separator">/</span><strong class="final-path">docxtemplater-latest.min.js</strong>
            <span class="separator">/</span><details class="details-reset details-overlay d-inline" id="jumpto-symbol-select-menu">
    <summary class="btn-link link-gray css-truncate" aria-haspopup="true" data-hotkey="r" data-hydro-click="{&quot;event_type&quot;:&quot;code_navigation.click_on_blob_definitions&quot;,&quot;payload&quot;:{&quot;action&quot;:&quot;click_on_blob_definitions&quot;,&quot;repository_id&quot;:40808874,&quot;ref&quot;:&quot;master&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}" data-hydro-click-hmac="df8b9f885d989647af18e7a233357bd5784181f57be6942d21ec4340756a2619">
        <svg class="octicon octicon-code" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path></svg>
      <span data-menu-button>Jump to</span>
      <span class="dropdown-caret"></span>
    </summary>
    <details-menu class="SelectMenu SelectMenu--hasFilter" role="menu">
      <div class="SelectMenu-modal">
        <header class="SelectMenu-header">
          <span class="SelectMenu-title">Code definitions</span>
          <button class="SelectMenu-closeButton" type="button" data-toggle-for="jumpto-symbol-select-menu">
            <svg aria-label="Close menu" class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
          </button>
        </header>
        <div class="SelectMenu-list">
            <div class="SelectMenu-blankslate">
              <p class="mb-0 text-gray">
                No definitions found in this file.
              </p>
            </div>
          <div data-filterable-for="jumpto-symbols-filter-field" data-filterable-type="substring">
          </div>
        </div>
        <footer class="SelectMenu-footer">
          <div class="d-flex flex-justify-between">
            Code navigation not available for this commit
            <svg class="octicon octicon-dot-fill text-light-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg>
          </div>
        </footer>
      </div>
    </details-menu>
  </details>
  
        </h2>
          <div class="BtnGroup flex-self-end flex-shrink-0">
            <a href="/open-xml-templating/docxtemplater-build/find/master"
                  class="js-pjax-capture-input btn btn-sm BtnGroup-item"
                  data-pjax
                  data-hotkey="t">
              Find file
            </a>
            <clipboard-copy value="build/docxtemplater-latest.min.js" class="btn btn-sm BtnGroup-item">
              Copy path
            </clipboard-copy>
          </div>
      </div>
  
  
  
      <div class="Box d-flex flex-column flex-shrink-0 mb-3 Box--condensed">
        <include-fragment src="/open-xml-templating/docxtemplater-build/contributors/master/build/docxtemplater-latest.min.js" class="commit-loader">
          <div class="Box-header Box-header--blue d-flex flex-items-center">
              Fetching contributors&hellip;
          </div>
  
          <div class="Box-body d-flex flex-items-center" >
              <img alt="" class="loader-loading mr-2" src="https://github.githubassets.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" height="16" />
            <span class="text-red h6 loader-error">Cannot retrieve contributors at this time</span>
          </div>
  </include-fragment>    </div>
  
  
  
  
  
  
      <div class="Box mt-3 position-relative
        ">
        
  <div class="Box-header py-2 d-flex flex-column flex-shrink-0 flex-md-row flex-md-items-center">
    <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1 mt-2 mt-md-0">
  
        1 lines (1 sloc)
        <span class="file-info-divider"></span>
      89.5 KB
    </div>
  
    <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between">
  
      <div class="BtnGroup">
        <a id="raw-url" class="btn btn-sm BtnGroup-item" href="/open-xml-templating/docxtemplater-build/raw/master/build/docxtemplater-latest.min.js">Raw</a>
          <a class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b" href="/open-xml-templating/docxtemplater-build/blame/master/build/docxtemplater-latest.min.js">Blame</a>
          <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/open-xml-templating/docxtemplater-build/commits/master/build/docxtemplater-latest.min.js">History</a>
      </div>
  
  
      <div>
            <a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
               data-platforms="windows,mac"
               href="https://desktop.github.com"
               aria-label="Open this file in GitHub Desktop"
               data-ga-click="Repository, open with desktop">
                <svg class="octicon octicon-device-desktop" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path></svg>
            </a>
  
            <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="inline-form js-update-url-with-hash" action="/open-xml-templating/docxtemplater-build/edit/master/build/docxtemplater-latest.min.js" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="2plEbzILfk9Tkcz8HICz7jiz5vEDOxS6RWCYwL+B4w62Ik5zOulSam/w3aWBQOAXXalw/DmhSa+v8t9/QuYzVw==" />
              <button class="btn-octicon tooltipped tooltipped-nw" type="submit"
                aria-label="Fork this project and edit the file" data-hotkey="e" data-disable-with>
                <svg class="octicon octicon-pencil" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path></svg>
              </button>
  </form>
            <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="inline-form" action="/open-xml-templating/docxtemplater-build/delete/master/build/docxtemplater-latest.min.js" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="ElfNrkBC3egyAD7SXXGzxRM6sW2eBUqfQ0q5qx3ZxMsk5Hd8ReDs511CZC4uq2haxkqHm6YewS1ZhE9pybn0Pg==" />
              <button class="btn-octicon btn-octicon-danger tooltipped tooltipped-nw" type="submit"
                aria-label="Fork this project and delete the file" data-disable-with>
                <svg class="octicon octicon-trashcan" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path></svg>
              </button>
  </form>    </div>
    </div>
  </div>
  
  
          <div class="js-notice border-bottom p-2">
            <div class="d-flex rounded-1 code-navigation-banner">
              <div class="col-6 pt-4 pl-4 pb-4">
                <div class="d-flex flex-items-center f6">
                  <h3 class="mr-2">Code navigation is available!</h3>
                </div>
                <p class="text-gray pt-2">
                  Navigate your code with ease. Click on function and method calls to jump to their definitions or references in the same repository.
                  <a href="https://help.github.com/en/articles/navigating-code-on-github">Learn more</a>
                </p>
              </div>
              <div class="col-6 p-2 text-right code-navigation-banner-illo">
                <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-notice-dismiss" action="/settings/dismiss-notice/aleph_code_navigation_banner" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="jDVfQOXqNfo/1trseqgDV5KBEBBi2pbpj5uLERwErXfjzcMKVWIr98uGxJbS/XelfiduGIpgbMPPsS1P6sazcw==" />
                  <button name="button" type="submit" class="btn-link link-gray" aria-label="Dismiss">
                    <svg width="20" height="20" class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
  </button></form>            </div>
            </div>
          </div>
  
        
  
    <div itemprop="text" class="Box-body p-0 blob-wrapper data type-javascript ">
        
  <table class="highlight tab-size js-file-line-container" data-tab-size="8" data-paste-markdown-skip>
        <tr>
          <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
          <td id="LC1" class="blob-code blob-code-inner js-file-line">(function(f){if(typeof exports===&quot;object&quot;&amp;&amp;typeof module!==&quot;undefined&quot;){module.exports=f()}else if(typeof define===&quot;function&quot;&amp;&amp;define.amd){define([],f)}else{var g;if(typeof window!==&quot;undefined&quot;){g=window}else if(typeof global!==&quot;undefined&quot;){g=global}else if(typeof self!==&quot;undefined&quot;){g=self}else{g=this}g.Docxtemplater=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=&quot;function&quot;==typeof require&amp;&amp;require;if(!f&amp;&amp;c)return c(i,!0);if(u)return u(i,!0);var a=new Error(&quot;Cannot find module &#39;&quot;+i+&quot;&#39;&quot;);throw a.code=&quot;MODULE_NOT_FOUND&quot;,a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=&quot;function&quot;==typeof require&amp;&amp;require,i=0;i&lt;t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){&quot;use strict&quot;;module.exports={XMLSerializer:window.XMLSerializer,DOMParser:window.DOMParser,XMLDocument:window.XMLDocument}},{}],2:[function(require,module,exports){&quot;use strict&quot;;function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var _require=require(&quot;./browser-versions/xmldom.js&quot;),DOMParser=_require.DOMParser,XMLSerializer=_require.XMLSerializer;var _require2=require(&quot;./errors&quot;),throwXmlTagNotFound=_require2.throwXmlTagNotFound;var _require3=require(&quot;./utils&quot;),last=_require3.last,first=_require3.first;function parser(tag){return _defineProperty({},&quot;get&quot;,function get(scope){if(tag===&quot;.&quot;){return scope}return scope[tag]})}function getNearestLeftIndex(parsed,elements,index){for(var i=index;i&gt;=0;i--){var part=parsed[i];for(var j=0,len=elements.length;j&lt;len;j++){var element=elements[j];if(isStarting(part.value,element)){return j}}}return null}function getNearestRightIndex(parsed,elements,index){for(var i=index,l=parsed.length;i&lt;l;i++){var part=parsed[i];for(var j=0,len=elements.length;j&lt;len;j++){var element=elements[j];if(isEnding(part.value,element)){return j}}}return-1}function getNearestLeft(parsed,elements,index){var found=getNearestLeftIndex(parsed,elements,index);if(found!==-1){return elements[found]}return null}function getNearestRight(parsed,elements,index){var found=getNearestRightIndex(parsed,elements,index);if(found!==-1){return elements[found]}return null}function buildNearestCache(postparsed,tags){return postparsed.reduce(function(cached,part,i){if(part.type===&quot;tag&quot;&amp;&amp;tags.indexOf(part.tag)!==-1){cached.push({i:i,part:part})}return cached},[])}function getNearestLeftIndexWithCache(index,cache){if(cache.length===0){return-1}for(var i=0,len=cache.length;i&lt;len;i++){var current=cache[i];var next=cache[i+1];if(current.i&lt;index&amp;&amp;(!next||index&lt;next.i)&amp;&amp;current.part.position===&quot;start&quot;){return i}}return-1}function getNearestLeftWithCache(index,cache){var found=getNearestLeftIndexWithCache(index,cache);if(found!==-1){return cache[found].part.tag}return null}function getNearestRightIndexWithCache(index,cache){if(cache.length===0){return-1}for(var i=0,len=cache.length;i&lt;len;i++){var current=cache[i];var _last=cache[i-1];if(index&lt;current.i&amp;&amp;(!_last||_last.i&lt;index)&amp;&amp;current.part.position===&quot;end&quot;){return i}}return-1}function getNearestRightWithCache(index,cache){var found=getNearestRightIndexWithCache(index,cache);if(found!==-1){return cache[found].part.tag}return null}function endsWith(str,suffix){return str.indexOf(suffix,str.length-suffix.length)!==-1}function startsWith(str,prefix){return str.substring(0,prefix.length)===prefix}function unique(arr){var hash={},result=[];for(var i=0,l=arr.length;i&lt;l;++i){if(!hash.hasOwnProperty(arr[i])){hash[arr[i]]=true;result.push(arr[i])}}return result}function chunkBy(parsed,f){return parsed.reduce(function(chunks,p){var currentChunk=last(chunks);var res=f(p);if(currentChunk.length===0){currentChunk.push(p);return chunks}if(res===&quot;start&quot;){chunks.push([p])}else if(res===&quot;end&quot;){currentChunk.push(p);chunks.push([])}else{currentChunk.push(p)}return chunks},[[]]).filter(function(p){return p.length&gt;0})}var defaults={nullGetter:function nullGetter(part){if(!part.module){return&quot;undefined&quot;}if(part.module===&quot;rawxml&quot;){return&quot;&quot;}return&quot;&quot;},xmlFileNames:[],parser:parser,linebreaks:false,delimiters:{start:&quot;{&quot;,end:&quot;}&quot;}};function mergeObjects(){var resObj={};var obj,keys;for(var i=0;i&lt;arguments.length;i+=1){obj=arguments[i];keys=Object.keys(obj);for(var j=0;j&lt;keys.length;j+=1){resObj[keys[j]]=obj[keys[j]]}}return resObj}function xml2str(xmlNode){var a=new XMLSerializer;return a.serializeToString(xmlNode).replace(/xmlns(:[a-z0-9]+)?=&quot;&quot; ?/g,&quot;&quot;)}function str2xml(str){if(str.charCodeAt(0)===65279){str=str.substr(1)}var parser=new DOMParser;return parser.parseFromString(str,&quot;text/xml&quot;)}var charMap={&quot;&amp;&quot;:&quot;&amp;amp;&quot;,&quot;&#39;&quot;:&quot;&amp;apos;&quot;,&quot;&lt;&quot;:&quot;&amp;lt;&quot;,&quot;&gt;&quot;:&quot;&amp;gt;&quot;,&#39;&quot;&#39;:&quot;&amp;quot;&quot;};function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\]\\]/g,&quot;\\$&amp;&quot;)}var charMapRegexes=Object.keys(charMap).map(function(endChar){var startChar=charMap[endChar];return{rstart:new RegExp(escapeRegExp(startChar),&quot;g&quot;),rend:new RegExp(escapeRegExp(endChar),&quot;g&quot;),start:startChar,end:endChar}});function wordToUtf8(string){var r;for(var i=0,l=charMapRegexes.length;i&lt;l;i++){r=charMapRegexes[i];string=string.replace(r.rstart,r.end)}return string}function utf8ToWord(string){if(typeof string!==&quot;string&quot;){string=string.toString()}var r;for(var i=0,l=charMapRegexes.length;i&lt;l;i++){r=charMapRegexes[i];string=string.replace(r.rend,r.start)}return string}function concatArrays(arrays){var result=[];for(var i=0;i&lt;arrays.length;i++){var array=arrays[i];for(var j=0,len=array.length;j&lt;len;j++){result.push(array[j])}}return result}var spaceRegexp=new RegExp(String.fromCharCode(160),&quot;g&quot;);function convertSpaces(s){return s.replace(spaceRegexp,&quot; &quot;)}function pregMatchAll(regex,content){var matchArray=[];var match;while((match=regex.exec(content))!=null){matchArray.push({array:match,offset:match.index})}return matchArray}function isEnding(value,element){return value===&quot;&lt;/&quot;+element+&quot;&gt;&quot;}function isStarting(value,element){return value.indexOf(&quot;&lt;&quot;+element)===0&amp;&amp;[&quot;&gt;&quot;,&quot; &quot;].indexOf(value[element.length+1])!==-1}function getRight(parsed,element,index){var val=getRightOrNull(parsed,element,index);if(val!==null){return val}throwXmlTagNotFound({position:&quot;right&quot;,element:element,parsed:parsed,index:index})}function getRightOrNull(parsed,elements,index){if(typeof elements===&quot;string&quot;){elements=[elements]}var level=1;for(var i=index,l=parsed.length;i&lt;l;i++){var part=parsed[i];for(var j=0,len=elements.length;j&lt;len;j++){var element=elements[j];if(isEnding(part.value,element)){level--}if(isStarting(part.value,element)){level++}if(level===0){return i}}}return null}function getLeft(parsed,element,index){var val=getLeftOrNull(parsed,element,index);if(val!==null){return val}throwXmlTagNotFound({position:&quot;left&quot;,element:element,parsed:parsed,index:index})}function getLeftOrNull(parsed,elements,index){if(typeof elements===&quot;string&quot;){elements=[elements]}var level=1;for(var i=index;i&gt;=0;i--){var part=parsed[i];for(var j=0,len=elements.length;j&lt;len;j++){var element=elements[j];if(isStarting(part.value,element)){level--}if(isEnding(part.value,element)){level++}if(level===0){return i}}}return null}function isTagStart(tagType,_ref2){var type=_ref2.type,tag=_ref2.tag,position=_ref2.position;return type===&quot;tag&quot;&amp;&amp;tag===tagType&amp;&amp;position===&quot;start&quot;}function isTagEnd(tagType,_ref3){var type=_ref3.type,tag=_ref3.tag,position=_ref3.position;return type===&quot;tag&quot;&amp;&amp;tag===tagType&amp;&amp;position===&quot;end&quot;}function isParagraphStart(options){return isTagStart(&quot;w:p&quot;,options)||isTagStart(&quot;a:p&quot;,options)}function isParagraphEnd(options){return isTagEnd(&quot;w:p&quot;,options)||isTagEnd(&quot;a:p&quot;,options)}function isTextStart(part){return part.type===&quot;tag&quot;&amp;&amp;part.position===&quot;start&quot;&amp;&amp;part.text}function isTextEnd(part){return part.type===&quot;tag&quot;&amp;&amp;part.position===&quot;end&quot;&amp;&amp;part.text}function isContent(p){return p.type===&quot;placeholder&quot;||p.type===&quot;content&quot;&amp;&amp;p.position===&quot;insidetag&quot;}var corruptCharacters=/[\x00-\x08\x0B\x0C\x0E-\x1F]/;function hasCorruptCharacters(string){return corruptCharacters.test(string)}module.exports={endsWith:endsWith,startsWith:startsWith,getNearestLeft:getNearestLeft,getNearestRight:getNearestRight,getNearestLeftWithCache:getNearestLeftWithCache,getNearestRightWithCache:getNearestRightWithCache,getNearestLeftIndex:getNearestLeftIndex,getNearestRightIndex:getNearestRightIndex,getNearestLeftIndexWithCache:getNearestLeftIndexWithCache,getNearestRightIndexWithCache:getNearestRightIndexWithCache,buildNearestCache:buildNearestCache,isContent:isContent,isParagraphStart:isParagraphStart,isParagraphEnd:isParagraphEnd,isTagStart:isTagStart,isTagEnd:isTagEnd,isTextStart:isTextStart,isTextEnd:isTextEnd,unique:unique,chunkBy:chunkBy,last:last,first:first,mergeObjects:mergeObjects,xml2str:xml2str,str2xml:str2xml,getRightOrNull:getRightOrNull,getRight:getRight,getLeftOrNull:getLeftOrNull,getLeft:getLeft,pregMatchAll:pregMatchAll,convertSpaces:convertSpaces,escapeRegExp:escapeRegExp,charMapRegexes:charMapRegexes,hasCorruptCharacters:hasCorruptCharacters,defaults:defaults,wordToUtf8:wordToUtf8,utf8ToWord:utf8ToWord,concatArrays:concatArrays,charMap:charMap}},{&quot;./browser-versions/xmldom.js&quot;:1,&quot;./errors&quot;:3,&quot;./utils&quot;:22}],3:[function(require,module,exports){&quot;use strict&quot;;function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable});keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i&lt;arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var _require=require(&quot;./utils&quot;),last=_require.last,first=_require.first;function XTError(message){this.name=&quot;GenericError&quot;;this.message=message;this.stack=new Error(message).stack}XTError.prototype=Error.prototype;function XTTemplateError(message){this.name=&quot;TemplateError&quot;;this.message=message;this.stack=new Error(message).stack}XTTemplateError.prototype=new XTError;function XTRenderingError(message){this.name=&quot;RenderingError&quot;;this.message=message;this.stack=new Error(message).stack}XTRenderingError.prototype=new XTError;function XTScopeParserError(message){this.name=&quot;ScopeParserError&quot;;this.message=message;this.stack=new Error(message).stack}XTScopeParserError.prototype=new XTError;function XTInternalError(message){this.name=&quot;InternalError&quot;;this.properties={explanation:&quot;InternalError&quot;};this.message=message;this.stack=new Error(message).stack}XTInternalError.prototype=new XTError;function XTAPIVersionError(message){this.name=&quot;APIVersionError&quot;;this.properties={explanation:&quot;APIVersionError&quot;};this.message=message;this.stack=new Error(message).stack}XTAPIVersionError.prototype=new XTError;function throwApiVersionError(msg,properties){var err=new XTAPIVersionError(msg);err.properties=_objectSpread({id:&quot;api_version_error&quot;},properties);throw err}function throwMultiError(errors){var err=new XTTemplateError(&quot;Multi error&quot;);err.properties={errors:errors,id:&quot;multi_error&quot;,explanation:&quot;The template has multiple errors&quot;};throw err}function getUnopenedTagException(options){var err=new XTTemplateError(&quot;Unopened tag&quot;);err.properties={xtag:last(options.xtag.split(&quot; &quot;)),id:&quot;unopened_tag&quot;,context:options.xtag,offset:options.offset,lIndex:options.lIndex,explanation:&#39;The tag beginning with &quot;&#39;.concat(options.xtag.substr(0,10),&#39;&quot; is unopened&#39;)};return err}function getUnclosedTagException(options){var err=new XTTemplateError(&quot;Unclosed tag&quot;);err.properties={xtag:first(options.xtag.split(&quot; &quot;)).substr(1),id:&quot;unclosed_tag&quot;,context:options.xtag,offset:options.offset,lIndex:options.lIndex,explanation:&#39;The tag beginning with &quot;&#39;.concat(options.xtag.substr(0,10),&#39;&quot; is unclosed&#39;)};return err}function throwXmlTagNotFound(options){var err=new XTTemplateError(&#39;No tag &quot;&#39;.concat(options.element,&#39;&quot; was found at the &#39;).concat(options.position));var part=options.parsed[options.index];err.properties={id:&quot;no_xml_tag_found_at_&quot;.concat(options.position),explanation:&#39;No tag &quot;&#39;.concat(options.element,&#39;&quot; was found at the &#39;).concat(options.position),offset:part.offset,part:part,parsed:options.parsed,index:options.index,element:options.element};throw err}function getCorruptCharactersException(_ref){var tag=_ref.tag,value=_ref.value,offset=_ref.offset;var err=new XTRenderingError(&quot;There are some XML corrupt characters&quot;);err.properties={id:&quot;invalid_xml_characters&quot;,xtag:tag,value:value,offset:offset,explanation:&quot;There are some corrupt characters for the field ${tag}&quot;};return err}function throwContentMustBeString(type){var err=new XTInternalError(&quot;Content must be a string&quot;);err.properties.id=&quot;xmltemplater_content_must_be_string&quot;;err.properties.type=type;throw err}function throwExpandNotFound(options){var _options$part=options.part,value=_options$part.value,offset=_options$part.offset,_options$id=options.id,id=_options$id===void 0?&quot;raw_tag_outerxml_invalid&quot;:_options$id,_options$message=options.message,message=_options$message===void 0?&quot;Raw tag not in paragraph&quot;:_options$message;var part=options.part;var _options$explanation=options.explanation,explanation=_options$explanation===void 0?&#39;The tag &quot;&#39;.concat(value,&#39;&quot; is not inside a paragraph&#39;):_options$explanation;if(typeof explanation===&quot;function&quot;){explanation=explanation(part)}var err=new XTTemplateError(message);err.properties={id:id,explanation:explanation,rootError:options.rootError,xtag:value,offset:offset,postparsed:options.postparsed,expandTo:options.expandTo,index:options.index};throw err}function throwRawTagShouldBeOnlyTextInParagraph(options){var err=new XTTemplateError(&quot;Raw tag should be the only text in paragraph&quot;);var tag=options.part.value;err.properties={id:&quot;raw_xml_tag_should_be_only_text_in_paragraph&quot;,explanation:&#39;The raw tag &quot;&#39;.concat(tag,&#39;&quot; should be the only text in this paragraph. This means that this tag should not be surrounded by any text or spaces.&#39;),xtag:tag,offset:options.part.offset,paragraphParts:options.paragraphParts};throw err}function getUnmatchedLoopException(options){var location=options.location;var t=location===&quot;start&quot;?&quot;unclosed&quot;:&quot;unopened&quot;;var T=location===&quot;start&quot;?&quot;Unclosed&quot;:&quot;Unopened&quot;;var err=new XTTemplateError(&quot;&quot;.concat(T,&quot; loop&quot;));var tag=options.part.value;err.properties={id:&quot;&quot;.concat(t,&quot;_loop&quot;),explanation:&#39;The loop with tag &quot;&#39;.concat(tag,&#39;&quot; is &#39;).concat(t),xtag:tag,offset:options.part.offset};return err}function getClosingTagNotMatchOpeningTag(_ref2){var tags=_ref2.tags;var err=new XTTemplateError(&quot;Closing tag does not match opening tag&quot;);err.properties={id:&quot;closing_tag_does_not_match_opening_tag&quot;,explanation:&#39;The tag &quot;&#39;.concat(tags[0].value,&#39;&quot; is closed by the tag &quot;&#39;).concat(tags[1].value,&#39;&quot;&#39;),openingtag:first(tags).value,offset:[first(tags).offset,last(tags).offset],closingtag:last(tags).value};return err}function getScopeCompilationError(_ref3){var tag=_ref3.tag,rootError=_ref3.rootError,offset=_ref3.offset;var err=new XTScopeParserError(&quot;Scope parser compilation failed&quot;);err.properties={id:&quot;scopeparser_compilation_failed&quot;,offset:offset,tag:tag,explanation:&#39;The scope parser for the tag &quot;&#39;.concat(tag,&#39;&quot; failed to compile&#39;),rootError:rootError};return err}function getScopeParserExecutionError(_ref4){var tag=_ref4.tag,scope=_ref4.scope,error=_ref4.error,offset=_ref4.offset;var err=new XTScopeParserError(&quot;Scope parser execution failed&quot;);err.properties={id:&quot;scopeparser_execution_failed&quot;,explanation:&quot;The scope parser for the tag &quot;.concat(tag,&quot; failed to execute&quot;),scope:scope,offset:offset,tag:tag,rootError:error};return err}function getLoopPositionProducesInvalidXMLError(_ref5){var tag=_ref5.tag,offset=_ref5.offset;var err=new XTTemplateError(&#39;The position of the loop tags &quot;&#39;.concat(tag,&#39;&quot; would produce invalid XML&#39;));err.properties={tag:tag,id:&quot;loop_position_invalid&quot;,explanation:&#39;The tags &quot;&#39;.concat(tag,&#39;&quot; are misplaced in the document, for example one of them is in a table and the other one outside the table&#39;),offset:offset};return err}function throwUnimplementedTagType(part,index){var errorMsg=&#39;Unimplemented tag type &quot;&#39;.concat(part.type,&#39;&quot;&#39;);if(part.module){errorMsg+=&#39; &quot;&#39;.concat(part.module,&#39;&quot;&#39;)}var err=new XTTemplateError(errorMsg);err.properties={part:part,index:index,id:&quot;unimplemented_tag_type&quot;};throw err}function throwMalformedXml(part){var err=new XTInternalError(&quot;Malformed xml&quot;);err.properties={part:part,id:&quot;malformed_xml&quot;};throw err}function throwLocationInvalid(part){throw new XTInternalError(&#39;Location should be one of &quot;start&quot; or &quot;end&quot; (given : &#39;.concat(part.location,&quot;)&quot;))}function throwFileTypeNotHandled(fileType){var err=new XTInternalError(&#39;The filetype &quot;&#39;.concat(fileType,&#39;&quot; is not handled by docxtemplater&#39;));err.properties={id:&quot;filetype_not_handled&quot;,explanation:&#39;The file you are trying to generate is of type &quot;&#39;.concat(fileType,&#39;&quot;, but only docx and pptx formats are handled&#39;),fileType:fileType};throw err}function throwFileTypeNotIdentified(){var err=new XTInternalError(&quot;The filetype for this file could not be identified, is this file corrupted ?&quot;);err.properties={id:&quot;filetype_not_identified&quot;};throw err}function throwXmlInvalid(content,offset){var err=new XTTemplateError(&quot;An XML file has invalid xml&quot;);err.properties={id:&quot;file_has_invalid_xml&quot;,content:content,offset:offset,explanation:&quot;The docx contains invalid XML, it is most likely corrupt&quot;};throw err}module.exports={XTError:XTError,XTTemplateError:XTTemplateError,XTInternalError:XTInternalError,XTScopeParserError:XTScopeParserError,XTAPIVersionError:XTAPIVersionError,RenderingError:XTRenderingError,XTRenderingError:XTRenderingError,getClosingTagNotMatchOpeningTag:getClosingTagNotMatchOpeningTag,getLoopPositionProducesInvalidXMLError:getLoopPositionProducesInvalidXMLError,getScopeCompilationError:getScopeCompilationError,getScopeParserExecutionError:getScopeParserExecutionError,getUnclosedTagException:getUnclosedTagException,getUnmatchedLoopException:getUnmatchedLoopException,getUnopenedTagException:getUnopenedTagException,getCorruptCharactersException:getCorruptCharactersException,throwApiVersionError:throwApiVersionError,throwContentMustBeString:throwContentMustBeString,throwFileTypeNotHandled:throwFileTypeNotHandled,throwFileTypeNotIdentified:throwFileTypeNotIdentified,throwLocationInvalid:throwLocationInvalid,throwMalformedXml:throwMalformedXml,throwMultiError:throwMultiError,throwExpandNotFound:throwExpandNotFound,throwRawTagShouldBeOnlyTextInParagraph:throwRawTagShouldBeOnlyTextInParagraph,throwUnimplementedTagType:throwUnimplementedTagType,throwXmlTagNotFound:throwXmlTagNotFound,throwXmlInvalid:throwXmlInvalid}},{&quot;./utils&quot;:22}],4:[function(require,module,exports){&quot;use strict&quot;;var loopModule=require(&quot;./modules/loop&quot;);var spacePreserveModule=require(&quot;./modules/space-preserve&quot;);var rawXmlModule=require(&quot;./modules/rawxml&quot;);var expandPairTrait=require(&quot;./modules/expand-pair-trait&quot;);var render=require(&quot;./modules/render&quot;);var PptXFileTypeConfig={getTemplatedFiles:function getTemplatedFiles(zip){var slideTemplates=zip.file(/ppt\/(slideMasters)\/(slideMaster)\d+\.xml/).map(function(file){return file.name});return slideTemplates.concat([&quot;ppt/presentation.xml&quot;,&quot;docProps/app.xml&quot;,&quot;docProps/core.xml&quot;])},textPath:function textPath(){return&quot;ppt/slides/slide1.xml&quot;},tagsXmlTextArray:[&quot;Company&quot;,&quot;HyperlinkBase&quot;,&quot;Manager&quot;,&quot;cp:category&quot;,&quot;cp:keywords&quot;,&quot;dc:creator&quot;,&quot;dc:description&quot;,&quot;dc:subject&quot;,&quot;dc:title&quot;,&quot;a:t&quot;,&quot;m:t&quot;,&quot;vt:lpstr&quot;],tagsXmlLexedArray:[&quot;p:sp&quot;,&quot;a:tc&quot;,&quot;a:tr&quot;,&quot;a:table&quot;,&quot;a:p&quot;,&quot;a:r&quot;,&quot;a:rPr&quot;,&quot;p:txBody&quot;,&quot;a:txBody&quot;],expandTags:[{contains:&quot;a:tc&quot;,expand:&quot;a:tr&quot;}],onParagraphLoop:[{contains:&quot;a:p&quot;,expand:&quot;a:p&quot;,onlyTextInTag:true}],tagRawXml:&quot;p:sp&quot;,tagTextXml:&quot;a:t&quot;,baseModules:[loopModule,expandPairTrait,rawXmlModule,render],tagShouldContain:[{tag:&quot;p:txBody&quot;,shouldContain:[&quot;a:p&quot;],value:&quot;&lt;a:p&gt;&lt;/a:p&gt;&quot;},{tag:&quot;a:txBody&quot;,shouldContain:[&quot;a:p&quot;],value:&quot;&lt;a:p&gt;&lt;/a:p&gt;&quot;}]};var DocXFileTypeConfig={getTemplatedFiles:function getTemplatedFiles(zip){var baseTags=[&quot;docProps/core.xml&quot;,&quot;docProps/app.xml&quot;];var headerFooters=zip.file(/word\/(header|footer)\d+\.xml/).map(function(file){return file.name});return headerFooters.concat(baseTags)},textPath:function textPath(doc){return doc.targets[0]},tagsXmlTextArray:[&quot;Company&quot;,&quot;HyperlinkBase&quot;,&quot;Manager&quot;,&quot;cp:category&quot;,&quot;cp:keywords&quot;,&quot;dc:creator&quot;,&quot;dc:description&quot;,&quot;dc:subject&quot;,&quot;dc:title&quot;,&quot;w:t&quot;,&quot;m:t&quot;,&quot;vt:lpstr&quot;],tagsXmlLexedArray:[&quot;w:tc&quot;,&quot;w:tr&quot;,&quot;w:table&quot;,&quot;w:p&quot;,&quot;w:r&quot;,&quot;w:br&quot;,&quot;w:rPr&quot;,&quot;w:pPr&quot;,&quot;w:spacing&quot;,&quot;w:sdtContent&quot;],expandTags:[{contains:&quot;w:tc&quot;,expand:&quot;w:tr&quot;}],onParagraphLoop:[{contains:&quot;w:p&quot;,expand:&quot;w:p&quot;,onlyTextInTag:true}],tagRawXml:&quot;w:p&quot;,tagTextXml:&quot;w:t&quot;,baseModules:[loopModule,spacePreserveModule,expandPairTrait,rawXmlModule,render],tagShouldContain:[{tag:&quot;w:tc&quot;,shouldContain:[&quot;w:p&quot;],value:&quot;&lt;w:p&gt;&lt;/w:p&gt;&quot;},{tag:&quot;w:sdtContent&quot;,shouldContain:[&quot;w:p&quot;,&quot;w:r&quot;],value:&quot;&lt;w:p&gt;&lt;/w:p&gt;&quot;}]};module.exports={docx:DocXFileTypeConfig,pptx:PptXFileTypeConfig}},{&quot;./modules/expand-pair-trait&quot;:10,&quot;./modules/loop&quot;:11,&quot;./modules/rawxml&quot;:12,&quot;./modules/render&quot;:13,&quot;./modules/space-preserve&quot;:14}],5:[function(require,module,exports){&quot;use strict&quot;;function joinUncorrupt(parts,contains){var collecting=&quot;&quot;;var currentlyCollecting=-1;return parts.reduce(function(full,part){for(var i=0,len=contains.length;i&lt;len;i++){var _contains$i=contains[i],tag=_contains$i.tag,shouldContain=_contains$i.shouldContain,value=_contains$i.value;var startTagRegex=new RegExp(&quot;^(&lt;(&quot;.concat(tag,&quot;)[^&gt;]*&gt;)$&quot;),&quot;g&quot;);if(currentlyCollecting===i){if(part===&quot;&lt;/&quot;.concat(tag,&quot;&gt;&quot;)){currentlyCollecting=-1;return full+collecting+value+part}collecting+=part;for(var j=0,len2=shouldContain.length;j&lt;len2;j++){var sc=shouldContain[j];if(part.indexOf(&quot;&lt;&quot;.concat(sc,&quot; &quot;))!==-1||part.indexOf(&quot;&lt;&quot;.concat(sc,&quot;&gt;&quot;))!==-1){currentlyCollecting=-1;return full+collecting}}return full}if(currentlyCollecting===-1&amp;&amp;startTagRegex.test(part)){currentlyCollecting=i;collecting=part;return full}}return full+part},&quot;&quot;)}module.exports=joinUncorrupt},{}],6:[function(require,module,exports){&quot;use strict&quot;;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===&quot;[object Arguments]&quot;)){return}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&amp;&amp;_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&amp;&amp;_i[&quot;return&quot;]!=null)_i[&quot;return&quot;]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}var _require=require(&quot;./errors&quot;),getUnclosedTagException=_require.getUnclosedTagException,getUnopenedTagException=_require.getUnopenedTagException,throwMalformedXml=_require.throwMalformedXml,throwXmlInvalid=_require.throwXmlInvalid;var _require2=require(&quot;./doc-utils&quot;),concatArrays=_require2.concatArrays,isTextStart=_require2.isTextStart,isTextEnd=_require2.isTextEnd;var NONE=-2;var EQUAL=0;var START=-1;var END=1;function inRange(range,match){return range[0]&lt;=match.offset&amp;&amp;match.offset&lt;range[1]}function updateInTextTag(part,inTextTag){if(isTextStart(part)){if(inTextTag){throwMalformedXml(part)}return true}if(isTextEnd(part)){if(!inTextTag){throwMalformedXml(part)}return false}return inTextTag}function getTag(tag){var position=&quot;&quot;;var start=1;var end=tag.indexOf(&quot; &quot;);if(tag[tag.length-2]===&quot;/&quot;){position=&quot;selfclosing&quot;;if(end===-1){end=tag.length-2}}else if(tag[1]===&quot;/&quot;){start=2;position=&quot;end&quot;;if(end===-1){end=tag.length-1}}else{position=&quot;start&quot;;if(end===-1){end=tag.length-1}}return{tag:tag.slice(start,end),position:position}}function tagMatcher(content,textMatchArray,othersMatchArray){var cursor=0;var contentLength=content.length;var allMatches=concatArrays([textMatchArray.map(function(tag){return{tag:tag,text:true}}),othersMatchArray.map(function(tag){return{tag:tag,text:false}})]).reduce(function(allMatches,t){allMatches[t.tag]=t.text;return allMatches},{});var totalMatches=[];while(cursor&lt;contentLength){cursor=content.indexOf(&quot;&lt;&quot;,cursor);if(cursor===-1){break}var offset=cursor;var nextOpening=content.indexOf(&quot;&lt;&quot;,cursor+1);cursor=content.indexOf(&quot;&gt;&quot;,cursor);if(cursor===-1||nextOpening!==-1&amp;&amp;cursor&gt;nextOpening){throwXmlInvalid(content,offset)}var tagText=content.slice(offset,cursor+1);var _getTag=getTag(tagText),tag=_getTag.tag,position=_getTag.position;var text=allMatches[tag];if(text==null){continue}totalMatches.push({type:&quot;tag&quot;,position:position,text:text,offset:offset,value:tagText,tag:tag})}return totalMatches}function getDelimiterErrors(delimiterMatches,fullText,ranges){if(delimiterMatches.length===0){return[]}var errors=[];var inDelimiter=false;var lastDelimiterMatch={offset:0};var xtag;var rangeIndex=0;delimiterMatches.forEach(function(delimiterMatch){while(ranges[rangeIndex+1]){if(ranges[rangeIndex+1].offset&gt;delimiterMatch.offset){break}rangeIndex++}xtag=fullText.substr(lastDelimiterMatch.offset,delimiterMatch.offset-lastDelimiterMatch.offset);if(delimiterMatch.position===&quot;start&quot;&amp;&amp;inDelimiter||delimiterMatch.position===&quot;end&quot;&amp;&amp;!inDelimiter){if(delimiterMatch.position===&quot;start&quot;){errors.push(getUnclosedTagException({xtag:xtag,offset:lastDelimiterMatch.offset}));delimiterMatch.error=true}else{errors.push(getUnopenedTagException({xtag:xtag,offset:delimiterMatch.offset}));delimiterMatch.error=true}}else{inDelimiter=!inDelimiter}lastDelimiterMatch=delimiterMatch});var delimiterMatch={offset:fullText.length};xtag=fullText.substr(lastDelimiterMatch.offset,delimiterMatch.offset-lastDelimiterMatch.offset);if(inDelimiter){errors.push(getUnclosedTagException({xtag:xtag,offset:lastDelimiterMatch.offset}));delimiterMatch.error=true}return errors}function compareOffsets(startOffset,endOffset){if(startOffset===-1&amp;&amp;endOffset===-1){return NONE}if(startOffset===endOffset){return EQUAL}if(startOffset===-1||endOffset===-1){return endOffset&lt;startOffset?START:END}return startOffset&lt;endOffset?START:END}function splitDelimiters(inside){var newDelimiters=inside.split(&quot; &quot;);if(newDelimiters.length!==2){throw new Error(&quot;New Delimiters cannot be parsed&quot;)}var _newDelimiters=_slicedToArray(newDelimiters,2),start=_newDelimiters[0],end=_newDelimiters[1];if(start.length===0||end.length===0){throw new Error(&quot;New Delimiters cannot be parsed&quot;)}return[start,end]}function getAllIndexes(fullText,delimiters){var indexes=[];var start=delimiters.start,end=delimiters.end;var offset=-1;var insideTag=false;while(true){var startOffset=fullText.indexOf(start,offset+1);var endOffset=fullText.indexOf(end,offset+1);var position=null;var len=void 0;var compareResult=compareOffsets(startOffset,endOffset);if(compareResult===NONE){return indexes}if(compareResult===EQUAL){if(!insideTag){compareResult=START}else{compareResult=END}}if(compareResult===END){insideTag=false;offset=endOffset;position=&quot;end&quot;;len=end.length}if(compareResult===START){insideTag=true;offset=startOffset;position=&quot;start&quot;;len=start.length}if(position===&quot;start&quot;&amp;&amp;fullText[offset+start.length]===&quot;=&quot;){indexes.push({offset:startOffset,position:&quot;start&quot;,length:start.length,changedelimiter:true});var nextEqual=fullText.indexOf(&quot;=&quot;,offset+start.length+1);var _endOffset=fullText.indexOf(end,nextEqual+1);indexes.push({offset:_endOffset,position:&quot;end&quot;,length:end.length,changedelimiter:true});var _insideTag=fullText.substr(offset+start.length+1,nextEqual-offset-start.length-1);var _splitDelimiters=splitDelimiters(_insideTag);var _splitDelimiters2=_slicedToArray(_splitDelimiters,2);start=_splitDelimiters2[0];end=_splitDelimiters2[1];offset=_endOffset;continue}indexes.push({offset:offset,position:position,length:len})}}function parseDelimiters(innerContentParts,delimiters){var full=innerContentParts.map(function(p){return p.value}).join(&quot;&quot;);var delimiterMatches=getAllIndexes(full,delimiters);var offset=0;var ranges=innerContentParts.map(function(part){offset+=part.value.length;return{offset:offset-part.value.length,lIndex:part.lIndex}});var errors=getDelimiterErrors(delimiterMatches,full,ranges);var cutNext=0;var delimiterIndex=0;var parsed=ranges.map(function(p,i){var offset=p.offset;var range=[offset,offset+innerContentParts[i].value.length];var partContent=innerContentParts[i].value;var delimitersInOffset=[];while(delimiterIndex&lt;delimiterMatches.length&amp;&amp;inRange(range,delimiterMatches[delimiterIndex])){delimitersInOffset.push(delimiterMatches[delimiterIndex]);delimiterIndex++}var parts=[];var cursor=0;if(cutNext&gt;0){cursor=cutNext;cutNext=0}var insideDelimiterChange;delimitersInOffset.forEach(function(delimiterInOffset){var value=partContent.substr(cursor,delimiterInOffset.offset-offset-cursor);if(value.length&gt;0){if(insideDelimiterChange){if(delimiterInOffset.changedelimiter){cursor=delimiterInOffset.offset-offset+delimiterInOffset.length;insideDelimiterChange=delimiterInOffset.position===&quot;start&quot;}return}parts.push({type:&quot;content&quot;,value:value,offset:cursor+offset});cursor+=value.length}var delimiterPart={type:&quot;delimiter&quot;,position:delimiterInOffset.position,offset:cursor+offset};if(delimiterInOffset.error){delimiterPart.error=delimiterInOffset.error}if(delimiterInOffset.changedelimiter){insideDelimiterChange=delimiterInOffset.position===&quot;start&quot;;cursor=delimiterInOffset.offset-offset+delimiterInOffset.length;return}parts.push(delimiterPart);cursor=delimiterInOffset.offset-offset+delimiterInOffset.length});cutNext=cursor-partContent.length;var value=partContent.substr(cursor);if(value.length&gt;0){parts.push({type:&quot;content&quot;,value:value,offset:offset})}return parts},this);return{parsed:parsed,errors:errors}}function getContentParts(xmlparsed){var inTextTag=false;var innerContentParts=[];xmlparsed.forEach(function(part){inTextTag=updateInTextTag(part,inTextTag);if(inTextTag&amp;&amp;part.type===&quot;content&quot;){innerContentParts.push(part)}});return innerContentParts}module.exports={parseDelimiters:parseDelimiters,parse:function parse(xmlparsed,delimiters){var inTextTag=false;var _parseDelimiters=parseDelimiters(getContentParts(xmlparsed),delimiters),delimiterParsed=_parseDelimiters.parsed,errors=_parseDelimiters.errors;var lexed=[];var index=0;xmlparsed.forEach(function(part){inTextTag=updateInTextTag(part,inTextTag);if(part.type===&quot;content&quot;){part.position=inTextTag?&quot;insidetag&quot;:&quot;outsidetag&quot;}if(inTextTag&amp;&amp;part.type===&quot;content&quot;){Array.prototype.push.apply(lexed,delimiterParsed[index].map(function(p){if(p.type===&quot;content&quot;){p.position=&quot;insidetag&quot;}return p}));index++}else{lexed.push(part)}});lexed=lexed.map(function(p,i){p.lIndex=i;return p});return{errors:errors,lexed:lexed}},xmlparse:function xmlparse(content,xmltags){var matches=tagMatcher(content,xmltags.text,xmltags.other);var cursor=0;var parsed=matches.reduce(function(parsed,match){var value=content.substr(cursor,match.offset-cursor);if(value.length&gt;0){parsed.push({type:&quot;content&quot;,value:value})}cursor=match.offset+match.value.length;delete match.offset;if(match.value.length&gt;0){parsed.push(match)}return parsed},[]);var value=content.substr(cursor);if(value.length&gt;0){parsed.push({type:&quot;content&quot;,value:value})}return parsed}}},{&quot;./doc-utils&quot;:2,&quot;./errors&quot;:3}],7:[function(require,module,exports){&quot;use strict&quot;;function getMinFromArrays(arrays,state){var minIndex=-1;for(var i=0,l=arrays.length;i&lt;l;i++){if(state[i]&gt;=arrays[i].length){continue}if(minIndex===-1||arrays[i][state[i]].offset&lt;arrays[minIndex][state[minIndex]].offset){minIndex=i}}if(minIndex===-1){throw new Error(&quot;minIndex negative&quot;)}return minIndex}module.exports=function(arrays){var totalLength=arrays.reduce(function(sum,array){return sum+array.length},0);arrays=arrays.filter(function(array){return array.length&gt;0});var resultArray=new Array(totalLength);var state=arrays.map(function(){return 0});var i=0;while(i&lt;=totalLength-1){var arrayIndex=getMinFromArrays(arrays,state);resultArray[i]=arrays[arrayIndex][state[arrayIndex]];state[arrayIndex]++;i++}return resultArray}},{}],8:[function(require,module,exports){&quot;use strict&quot;;function emptyFun(){}function identity(i){return i}module.exports=function(module){var defaults={set:emptyFun,parse:emptyFun,render:emptyFun,getTraits:emptyFun,getFileType:emptyFun,nullGetter:emptyFun,optionsTransformer:identity,postrender:identity,errorsTransformer:identity,getRenderedMap:identity,preparse:identity,postparse:identity,on:emptyFun,resolve:emptyFun};if(Object.keys(defaults).every(function(key){return!module[key]})){throw new Error(&quot;This module cannot be wrapped, because it doesn&#39;t define any of the necessary functions&quot;)}Object.keys(defaults).forEach(function(key){module[key]=module[key]||defaults[key]});return module}},{}],9:[function(require,module,exports){&quot;use strict&quot;;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var wrapper=require(&quot;../module-wrapper&quot;);var ctXML=&quot;[Content_Types].xml&quot;;var docxContentType=&quot;application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml&quot;;var docxmContentType=&quot;application/vnd.ms-word.document.macroEnabled.main+xml&quot;;var pptxContentType=&quot;application/vnd.openxmlformats-officedocument.presentationml.slide+xml&quot;;function getPartName(override){var partName=override.getAttribute(&quot;PartName&quot;);if(partName[0]===&quot;/&quot;){partName=partName.substr(1)}return partName}var Common=function(){function Common(){_classCallCheck(this,Common);this.name=&quot;Common&quot;;this.recordRun=false;this.recordedRun=[]}_createClass(Common,[{key:&quot;getFileType&quot;,value:function getFileType(_ref){var zip=_ref.zip,contentTypes=_ref.contentTypes,overrides=_ref.overrides,defaults=_ref.defaults,doc=_ref.doc;if(!contentTypes){return}var fileType=null;var partNames=[];for(var i=0,len=overrides.length;i&lt;len;i++){var override=overrides[i];var contentType=override.getAttribute(&quot;ContentType&quot;);var partName=getPartName(override);partNames.push(partName);if(contentType===docxContentType){fileType=&quot;docx&quot;;doc.targets.push(partName)}if(contentType===docxmContentType){fileType=&quot;docx&quot;;doc.targets.push(partName)}if(contentType===pptxContentType){fileType=&quot;pptx&quot;;doc.targets.push(partName)}}if(fileType){return fileType}var _loop=function _loop(_i,_len){var def=defaults[_i];var contentType=def.getAttribute(&quot;ContentType&quot;);if([docxContentType,docxmContentType,pptxContentType].indexOf(contentType)!==-1){var extension=def.getAttribute(&quot;Extension&quot;);zip.file(/./).map(function(_ref2){var name=_ref2.name;if(name.slice(name.length-extension.length-1)===&quot;.xml&quot;&amp;&amp;partNames.indexOf(name)===-1&amp;&amp;name!==ctXML){doc.targets.push(name);fileType=contentType===pptxContentType?&quot;pptx&quot;:&quot;docx&quot;}})}};for(var _i=0,_len=defaults.length;_i&lt;_len;_i++){_loop(_i,_len)}return fileType}}]);return Common}();module.exports=function(){return wrapper(new Common)}},{&quot;../module-wrapper&quot;:8}],10:[function(require,module,exports){&quot;use strict&quot;;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===&quot;[object Arguments]&quot;)){return}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&amp;&amp;_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&amp;&amp;_i[&quot;return&quot;]!=null)_i[&quot;return&quot;]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}var traitName=&quot;expandPair&quot;;var mergeSort=require(&quot;../mergesort&quot;);var _require=require(&quot;../doc-utils&quot;),getLeft=_require.getLeft,getRight=_require.getRight;var wrapper=require(&quot;../module-wrapper&quot;);var _require2=require(&quot;../traits&quot;),getExpandToDefault=_require2.getExpandToDefault;var _require3=require(&quot;../errors&quot;),getUnmatchedLoopException=_require3.getUnmatchedLoopException,getClosingTagNotMatchOpeningTag=_require3.getClosingTagNotMatchOpeningTag,throwLocationInvalid=_require3.throwLocationInvalid;function getOpenCountChange(part){switch(part.location){case&quot;start&quot;:return 1;case&quot;end&quot;:return-1;default:throwLocationInvalid(part)}}function getPairs(traits){var errors=[];var pairs=[];if(traits.length===0){return{pairs:pairs,errors:errors}}var countOpen=1;var _traits=_slicedToArray(traits,1),firstTrait=_traits[0];if(firstTrait.part.location===&quot;start&quot;){for(var i=1;i&lt;traits.length;i++){var currentTrait=traits[i];countOpen+=getOpenCountChange(currentTrait.part);if(countOpen===0){var _outer=getPairs(traits.slice(i+1));if(currentTrait.part.value!==firstTrait.part.value&amp;&amp;currentTrait.part.value!==&quot;&quot;){errors.push(getClosingTagNotMatchOpeningTag({tags:[firstTrait.part,currentTrait.part]}))}else{pairs=[[firstTrait,currentTrait]]}return{pairs:pairs.concat(_outer.pairs),errors:errors.concat(_outer.errors)}}}}var part=firstTrait.part;errors.push(getUnmatchedLoopException({part:part,location:part.location}));var outer=getPairs(traits.slice(1));return{pairs:outer.pairs,errors:errors.concat(outer.errors)}}var expandPairTrait={name:&quot;ExpandPairTrait&quot;,optionsTransformer:function optionsTransformer(options,docxtemplater){this.expandTags=docxtemplater.fileTypeConfig.expandTags.concat(docxtemplater.options.paragraphLoop?docxtemplater.fileTypeConfig.onParagraphLoop:[]);return options},postparse:function postparse(postparsed,_ref){var _this=this;var getTraits=_ref.getTraits,_postparse=_ref.postparse;var traits=getTraits(traitName,postparsed);traits=traits.map(function(trait){return trait||[]});traits=mergeSort(traits);var _getPairs=getPairs(traits),pairs=_getPairs.pairs,errors=_getPairs.errors;var expandedPairs=pairs.map(function(pair){var expandTo=pair[0].part.expandTo;if(expandTo===&quot;auto&quot;){var result=getExpandToDefault(postparsed,pair,_this.expandTags);if(result.error){errors.push(result.error)}expandTo=result.value}if(!expandTo){return[pair[0].offset,pair[1].offset]}var left,right;try{left=getLeft(postparsed,expandTo,pair[0].offset)}catch(e){errors.push(e)}try{right=getRight(postparsed,expandTo,pair[1].offset)}catch(e){errors.push(e)}return[left,right]});var currentPairIndex=0;var innerParts;var newParsed=postparsed.reduce(function(newParsed,part,i){var inPair=currentPairIndex&lt;pairs.length&amp;&amp;expandedPairs[currentPairIndex][0]&lt;=i;var pair=pairs[currentPairIndex];var expandedPair=expandedPairs[currentPairIndex];if(!inPair){newParsed.push(part);return newParsed}if(expandedPair[0]===i){innerParts=[]}if(pair[0].offset!==i&amp;&amp;pair[1].offset!==i){innerParts.push(part)}if(expandedPair[1]===i){var basePart=postparsed[pair[0].offset];basePart.subparsed=_postparse(innerParts,{basePart:basePart});delete basePart.location;delete basePart.expandTo;newParsed.push(basePart);currentPairIndex++}return newParsed},[]);return{postparsed:newParsed,errors:errors}}};module.exports=function(){return wrapper(expandPairTrait)}},{&quot;../doc-utils&quot;:2,&quot;../errors&quot;:3,&quot;../mergesort&quot;:7,&quot;../module-wrapper&quot;:8,&quot;../traits&quot;:21}],11:[function(require,module,exports){&quot;use strict&quot;;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===&quot;[object Arguments]&quot;)){return}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&amp;&amp;_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&amp;&amp;_i[&quot;return&quot;]!=null)_i[&quot;return&quot;]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var _require=require(&quot;../doc-utils&quot;),mergeObjects=_require.mergeObjects,chunkBy=_require.chunkBy,last=_require.last,isParagraphStart=_require.isParagraphStart,isParagraphEnd=_require.isParagraphEnd,isContent=_require.isContent;var wrapper=require(&quot;../module-wrapper&quot;);var moduleName=&quot;loop&quot;;function hasContent(parts){return parts.some(function(part){return isContent(part)})}function getFirstMeaningFulPart(parsed){for(var i=0,len=parsed.length;i&lt;len;i++){if(parsed[i].type!==&quot;content&quot;){return parsed[i]}}return null}function isInsideParagraphLoop(part){var firstMeaningfulPart=getFirstMeaningFulPart(part.subparsed);return firstMeaningfulPart!=null&amp;&amp;firstMeaningfulPart.tag!==&quot;w:t&quot;}function getPageBreakIfApplies(part){if(part.hasPageBreak){if(isInsideParagraphLoop(part)){return&#39;&lt;w:p&gt;&lt;w:r&gt;&lt;w:br w:type=&quot;page&quot;/&gt;&lt;/w:r&gt;&lt;/w:p&gt;&#39;}}return&quot;&quot;}function isEnclosedByParagraphs(parsed){if(parsed.length===0){return false}return isParagraphStart(parsed[0])&amp;&amp;isParagraphEnd(last(parsed))}function getOffset(chunk){return hasContent(chunk)?0:chunk.length}function addPageBreakAtEnd(subRendered){var found=false;var i=subRendered.parts.length-1;for(var j=subRendered.parts.length-1;i&gt;=0;i--){var p=subRendered.parts[j];if(p===&quot;&lt;/w:p&gt;&quot;&amp;&amp;!found){found=true;subRendered.parts.splice(j,0,&#39;&lt;w:r&gt;&lt;w:br w:type=&quot;page&quot;/&gt;&lt;/w:r&gt;&#39;);break}}if(!found){subRendered.parts.push(&#39;&lt;w:p&gt;&lt;w:r&gt;&lt;w:br w:type=&quot;page&quot;/&gt;&lt;/w:r&gt;&lt;/w:p&gt;&#39;)}}function addPageBreakAtBeginning(subRendered){subRendered.parts.unshift(&#39;&lt;w:p&gt;&lt;w:r&gt;&lt;w:br w:type=&quot;page&quot;/&gt;&lt;/w:r&gt;&lt;/w:p&gt;&#39;)}function hasPageBreak(chunk){return chunk.some(function(part){if(part.tag===&quot;w:br&quot;&amp;&amp;part.value.indexOf(&#39;w:type=&quot;page&quot;&#39;)!==-1){return true}})}var LoopModule=function(){function LoopModule(){_classCallCheck(this,LoopModule);this.name=&quot;LoopModule&quot;;this.prefix={start:&quot;#&quot;,end:&quot;/&quot;,dash:/^-([^\s]+)\s(.+)$/,inverted:&quot;^&quot;}}_createClass(LoopModule,[{key:&quot;parse&quot;,value:function parse(placeHolderContent,_ref){var match=_ref.match,getValue=_ref.getValue,getValues=_ref.getValues;var module=moduleName;var type=&quot;placeholder&quot;;var _this$prefix=this.prefix,start=_this$prefix.start,inverted=_this$prefix.inverted,dash=_this$prefix.dash,end=_this$prefix.end;if(match(start,placeHolderContent)){return{type:type,value:getValue(start,placeHolderContent),expandTo:&quot;auto&quot;,module:module,location:&quot;start&quot;,inverted:false}}if(match(inverted,placeHolderContent)){return{type:type,value:getValue(inverted,placeHolderContent),expandTo:&quot;auto&quot;,module:module,location:&quot;start&quot;,inverted:true}}if(match(end,placeHolderContent)){return{type:type,value:getValue(end,placeHolderContent),module:module,location:&quot;end&quot;}}if(match(dash,placeHolderContent)){var _getValues=getValues(dash,placeHolderContent),_getValues2=_slicedToArray(_getValues,3),expandTo=_getValues2[1],value=_getValues2[2];return{type:type,value:value,expandTo:expandTo,module:module,location:&quot;start&quot;,inverted:false}}return null}},{key:&quot;getTraits&quot;,value:function getTraits(traitName,parsed){if(traitName!==&quot;expandPair&quot;){return}return parsed.reduce(function(tags,part,offset){if(part.type===&quot;placeholder&quot;&amp;&amp;part.module===moduleName&amp;&amp;part.subparsed==null){tags.push({part:part,offset:offset})}return tags},[])}},{key:&quot;postparse&quot;,value:function postparse(parsed,_ref2){var basePart=_ref2.basePart;if(!basePart||basePart.expandTo!==&quot;auto&quot;||basePart.module!==moduleName||!isEnclosedByParagraphs(parsed)){return parsed}var level=0;var chunks=chunkBy(parsed,function(p){if(isParagraphStart(p)){level++;if(level===1){return&quot;start&quot;}}if(isParagraphEnd(p)){level--;if(level===0){return&quot;end&quot;}}return null});if(chunks.length&lt;=2){return parsed}var firstChunk=chunks[0];var lastChunk=last(chunks);var firstOffset=getOffset(firstChunk);var lastOffset=getOffset(lastChunk);basePart.hasPageBreak=hasPageBreak(lastChunk);basePart.hasPageBreakBeginning=hasPageBreak(firstChunk);if(firstOffset===0||lastOffset===0){return parsed}return parsed.slice(firstOffset,parsed.length-lastOffset)}},{key:&quot;render&quot;,value:function render(part,options){if(part.type!==&quot;placeholder&quot;||part.module!==moduleName){return null}var totalValue=[];var errors=[];function loopOver(scope,i,length){var scopeManager=options.scopeManager.createSubScopeManager(scope,part.value,i,part,length);var subRendered=options.render(mergeObjects({},options,{compiled:part.subparsed,tags:{},scopeManager:scopeManager}));if(part.hasPageBreak&amp;&amp;i===length-1&amp;&amp;isInsideParagraphLoop(part)){addPageBreakAtEnd(subRendered)}if(part.hasPageBreakBeginning&amp;&amp;isInsideParagraphLoop(part)){addPageBreakAtBeginning(subRendered)}totalValue=totalValue.concat(subRendered.parts);errors=errors.concat(subRendered.errors||[])}var result;try{result=options.scopeManager.loopOver(part.value,loopOver,part.inverted,{part:part})}catch(e){errors.push(e);return{errors:errors}}if(result===false){return{value:getPageBreakIfApplies(part)||part.emptyValue||&quot;&quot;,errors:errors}}var contains=options.fileTypeConfig.tagShouldContain||[];return{value:options.joinUncorrupt(totalValue,contains),errors:errors}}},{key:&quot;resolve&quot;,value:function resolve(part,options){if(part.type!==&quot;placeholder&quot;||part.module!==moduleName){return null}var sm=options.scopeManager;var promisedValue=Promise.resolve().then(function(){return sm.getValue(part.value,{part:part})});var promises=[];function loopOver(scope,i,length){var scopeManager=sm.createSubScopeManager(scope,part.value,i,part,length);promises.push(options.resolve({filePath:options.filePath,modules:options.modules,baseNullGetter:options.baseNullGetter,resolve:options.resolve,compiled:part.subparsed,tags:{},scopeManager:scopeManager}))}return promisedValue.then(function(value){sm.loopOverValue(value,loopOver,part.inverted);return Promise.all(promises).then(function(r){return r.map(function(_ref3){var resolved=_ref3.resolved;return resolved})})})}}]);return LoopModule}();module.exports=function(){return wrapper(new LoopModule)}},{&quot;../doc-utils&quot;:2,&quot;../module-wrapper&quot;:8}],12:[function(require,module,exports){&quot;use strict&quot;;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var traits=require(&quot;../traits&quot;);var _require=require(&quot;../doc-utils&quot;),isContent=_require.isContent;var _require2=require(&quot;../errors&quot;),throwRawTagShouldBeOnlyTextInParagraph=_require2.throwRawTagShouldBeOnlyTextInParagraph;var moduleName=&quot;rawxml&quot;;var wrapper=require(&quot;../module-wrapper&quot;);function getInner(_ref){var part=_ref.part,left=_ref.left,right=_ref.right,postparsed=_ref.postparsed,index=_ref.index;var paragraphParts=postparsed.slice(left+1,right);paragraphParts.forEach(function(p,i){if(i===index-left-1){return}if(isContent(p)){throwRawTagShouldBeOnlyTextInParagraph({paragraphParts:paragraphParts,part:part})}});return part}var RawXmlModule=function(){function RawXmlModule(){_classCallCheck(this,RawXmlModule);this.name=&quot;RawXmlModule&quot;;this.prefix=&quot;@&quot;}_createClass(RawXmlModule,[{key:&quot;optionsTransformer&quot;,value:function optionsTransformer(options,docxtemplater){this.fileTypeConfig=docxtemplater.fileTypeConfig;return options}},{key:&quot;parse&quot;,value:function parse(placeHolderContent,_ref2){var match=_ref2.match,getValue=_ref2.getValue;var type=&quot;placeholder&quot;;if(match(this.prefix,placeHolderContent)){return{type:type,value:getValue(this.prefix,placeHolderContent),module:moduleName}}return null}},{key:&quot;postparse&quot;,value:function postparse(postparsed){return traits.expandToOne(postparsed,{moduleName:moduleName,getInner:getInner,expandTo:this.fileTypeConfig.tagRawXml,error:{message:&quot;Raw tag not in paragraph&quot;,id:&quot;raw_tag_outerxml_invalid&quot;,explanation:function explanation(part){return&#39;The tag &quot;&#39;.concat(part.value,&#39;&quot; is not inside a paragraph, putting raw tags inside an inline loop is disallowed.&#39;)}}})}},{key:&quot;render&quot;,value:function render(part,options){if(part.module!==moduleName){return null}var value;var errors=[];try{value=options.scopeManager.getValue(part.value,{part:part});if(value==null){value=options.nullGetter(part)}}catch(e){errors.push(e);return{errors:errors}}if(!value){return{value:part.emptyValue||&quot;&quot;}}return{value:value}}},{key:&quot;resolve&quot;,value:function resolve(part,options){if(part.type!==&quot;placeholder&quot;||part.module!==moduleName){return null}return options.scopeManager.getValueAsync(part.value,{part:part}).then(function(value){if(value==null){return options.nullGetter(part)}return value})}}]);return RawXmlModule}();module.exports=function(){return wrapper(new RawXmlModule)}},{&quot;../doc-utils&quot;:2,&quot;../errors&quot;:3,&quot;../module-wrapper&quot;:8,&quot;../traits&quot;:21}],13:[function(require,module,exports){&quot;use strict&quot;;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var wrapper=require(&quot;../module-wrapper&quot;);var _require=require(&quot;../errors&quot;),getScopeCompilationError=_require.getScopeCompilationError;var _require2=require(&quot;../doc-utils&quot;),utf8ToWord=_require2.utf8ToWord,hasCorruptCharacters=_require2.hasCorruptCharacters;var _require3=require(&quot;../errors&quot;),getCorruptCharactersException=_require3.getCorruptCharactersException;var ftprefix={docx:&quot;w&quot;,pptx:&quot;a&quot;};var Render=function(){function Render(){_classCallCheck(this,Render);this.name=&quot;Render&quot;;this.recordRun=false;this.recordedRun=[]}_createClass(Render,[{key:&quot;set&quot;,value:function set(obj){if(obj.compiled){this.compiled=obj.compiled}if(obj.data!=null){this.data=obj.data}}},{key:&quot;getRenderedMap&quot;,value:function getRenderedMap(mapper){var _this=this;return Object.keys(this.compiled).reduce(function(mapper,from){mapper[from]={from:from,data:_this.data};return mapper},mapper)}},{key:&quot;optionsTransformer&quot;,value:function optionsTransformer(options,docxtemplater){this.parser=docxtemplater.parser;this.fileType=docxtemplater.fileType;return options}},{key:&quot;postparse&quot;,value:function postparse(postparsed){var _this2=this;var errors=[];postparsed.forEach(function(p){if(p.type===&quot;placeholder&quot;){var tag=p.value;try{_this2.parser(tag,{tag:p})}catch(rootError){errors.push(getScopeCompilationError({tag:tag,rootError:rootError,offset:p.offset}))}}});return{postparsed:postparsed,errors:errors}}},{key:&quot;recordRuns&quot;,value:function recordRuns(part){if(part.tag===&quot;&quot;.concat(ftprefix[this.fileType],&quot;:r&quot;)){this.recordRun=false;this.recordedRun=[]}else if(part.tag===&quot;&quot;.concat(ftprefix[this.fileType],&quot;:rPr&quot;)){if(part.position===&quot;start&quot;){this.recordRun=true;this.recordedRun=[part.value]}if(part.position===&quot;end&quot;){this.recordedRun.push(part.value);this.recordRun=false}}else if(this.recordRun){this.recordedRun.push(part.value)}}},{key:&quot;render&quot;,value:function render(part,_ref){var scopeManager=_ref.scopeManager,linebreaks=_ref.linebreaks,nullGetter=_ref.nullGetter;if(linebreaks){this.recordRuns(part)}if(part.type!==&quot;placeholder&quot;||part.module){return}var value;try{value=scopeManager.getValue(part.value,{part:part})}catch(e){return{errors:[e]}}if(value==null){value=nullGetter(part)}if(hasCorruptCharacters(value)){return{errors:[getCorruptCharactersException({tag:part.value,value:value,offset:part.offset})]}}if(typeof value!==&quot;string&quot;){value=value.toString()}if(linebreaks){return this.renderLineBreaks(value)}return{value:utf8ToWord(value)}}},{key:&quot;renderLineBreaks&quot;,value:function renderLineBreaks(value){var p=ftprefix[this.fileType];var br=this.fileType===&quot;docx&quot;?&quot;&lt;w:r&gt;&lt;w:br/&gt;&lt;/w:r&gt;&quot;:&quot;&lt;a:br/&gt;&quot;;var lines=value.split(&quot;\n&quot;);var runprops=this.recordedRun.join(&quot;&quot;);return{value:lines.map(function(line){return utf8ToWord(line)}).join(&quot;&lt;/&quot;.concat(p,&quot;:t&gt;&lt;/&quot;).concat(p,&quot;:r&gt;&quot;).concat(br,&quot;&lt;&quot;).concat(p,&quot;:r&gt;&quot;).concat(runprops,&quot;&lt;&quot;).concat(p,&quot;:t&quot;).concat(this.fileType===&quot;docx&quot;?&#39; xml:space=&quot;preserve&quot;&#39;:&quot;&quot;,&quot;&gt;&quot;))}}}]);return Render}();module.exports=function(){return wrapper(new Render)}},{&quot;../doc-utils&quot;:2,&quot;../errors&quot;:3,&quot;../module-wrapper&quot;:8}],14:[function(require,module,exports){&quot;use strict&quot;;var wrapper=require(&quot;../module-wrapper&quot;);var _require=require(&quot;../doc-utils&quot;),isTextStart=_require.isTextStart,isTextEnd=_require.isTextEnd,endsWith=_require.endsWith,startsWith=_require.startsWith;var wTpreserve=&#39;&lt;w:t xml:space=&quot;preserve&quot;&gt;&#39;;var wTpreservelen=wTpreserve.length;var wtEnd=&quot;&lt;/w:t&gt;&quot;;var wtEndlen=wtEnd.length;function isWtStart(part){return isTextStart(part)&amp;&amp;part.tag===&quot;w:t&quot;}function addXMLPreserve(chunk,index){var tag=chunk[index].value;if(chunk[index+1].value===&quot;&lt;/w:t&gt;&quot;){return tag}if(tag.indexOf(&#39;xml:space=&quot;preserve&quot;&#39;)!==-1){return tag}return tag.substr(0,tag.length-1)+&#39; xml:space=&quot;preserve&quot;&gt;&#39;}function isInsideLoop(meta,chunk){return meta&amp;&amp;meta.basePart&amp;&amp;chunk.length&gt;1}var spacePreserve={name:&quot;SpacePreserveModule&quot;,postparse:function postparse(postparsed,meta){var chunk=[],inTextTag=false,endLindex=0,lastTextTag=0;function isStartingPlaceHolder(part,chunk){return!endLindex&amp;&amp;part.type===&quot;placeholder&quot;&amp;&amp;(!part.module||part.module===&quot;loop&quot;)&amp;&amp;chunk.length&gt;1}var result=postparsed.reduce(function(postparsed,part){if(isWtStart(part)){inTextTag=true;lastTextTag=chunk.length}if(!inTextTag){postparsed.push(part);return postparsed}chunk.push(part);if(isInsideLoop(meta,chunk)){endLindex=meta.basePart.endLindex;chunk[0].value=addXMLPreserve(chunk,0)}if(isStartingPlaceHolder(part,chunk)){endLindex=part.endLindex;chunk[0].value=addXMLPreserve(chunk,0)}if(isTextEnd(part)&amp;&amp;part.lIndex&gt;endLindex){if(endLindex!==0){chunk[lastTextTag].value=addXMLPreserve(chunk,lastTextTag)}Array.prototype.push.apply(postparsed,chunk);chunk=[];inTextTag=false;endLindex=0;lastTextTag=0}return postparsed},[]);Array.prototype.push.apply(result,chunk);return result},postrender:function postrender(parts){var lastNonEmpty=&quot;&quot;;var lastNonEmptyIndex=0;return parts.reduce(function(newParts,p,index){if(p===&quot;&quot;){newParts.push(p);return newParts}if(p.indexOf(&#39;&lt;w:t xml:space=&quot;preserve&quot;&gt;&lt;/w:t&gt;&#39;)!==-1){p=p.replace(/&lt;w:t xml:space=&quot;preserve&quot;&gt;&lt;\/w:t&gt;/g,&quot;&lt;w:t/&gt;&quot;)}if(endsWith(lastNonEmpty,wTpreserve)&amp;&amp;startsWith(p,wtEnd)){newParts[lastNonEmptyIndex]=lastNonEmpty.substr(0,lastNonEmpty.length-wTpreservelen)+&quot;&lt;w:t/&gt;&quot;;p=p.substr(wtEndlen)}lastNonEmpty=p;lastNonEmptyIndex=index;newParts.push(p);return newParts},[])}};module.exports=function(){return wrapper(spacePreserve)}},{&quot;../doc-utils&quot;:2,&quot;../module-wrapper&quot;:8}],15:[function(require,module,exports){&quot;use strict&quot;;function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable});keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i&lt;arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var _require=require(&quot;./doc-utils&quot;),wordToUtf8=_require.wordToUtf8,concatArrays=_require.concatArrays;var _require2=require(&quot;./prefix-matcher&quot;),match=_require2.match,getValue=_require2.getValue,getValues=_require2.getValues;function moduleParse(placeHolderContent,options){var modules=options.modules;var startOffset=options.startOffset;var endLindex=options.lIndex;var moduleParsed;options.offset=startOffset;options.lIndex=endLindex;options.match=match;options.getValue=getValue;options.getValues=getValues;for(var i=0,l=modules.length;i&lt;l;i++){var _module=modules[i];moduleParsed=_module.parse(placeHolderContent,options);if(moduleParsed){moduleParsed.offset=startOffset;moduleParsed.endLindex=endLindex;moduleParsed.lIndex=endLindex;moduleParsed.raw=placeHolderContent;return moduleParsed}}return{type:&quot;placeholder&quot;,value:placeHolderContent,offset:startOffset,endLindex:endLindex,lIndex:endLindex}}var parser={preparse:function preparse(parsed,modules,options){function preparse(parsed,options){return modules.forEach(function(module){module.preparse(parsed,options)})}return{preparsed:preparse(parsed,options)}},postparse:function postparse(postparsed,modules,options){function getTraits(traitName,postparsed){return modules.map(function(module){return module.getTraits(traitName,postparsed)})}var errors=[];function postparse(postparsed,options){return modules.reduce(function(postparsed,module){var r=module.postparse(postparsed,_objectSpread({},options,{postparse:postparse,getTraits:getTraits}));if(r.errors){errors=concatArrays([errors,r.errors]);return r.postparsed}return r},postparsed)}return{postparsed:postparse(postparsed,options),errors:errors}},parse:function parse(lexed,modules,options){var inPlaceHolder=false;var placeHolderContent=&quot;&quot;;var startOffset;var tailParts=[];return lexed.reduce(function lexedToParsed(parsed,token){if(token.type===&quot;delimiter&quot;){inPlaceHolder=token.position===&quot;start&quot;;if(token.position===&quot;end&quot;){placeHolderContent=wordToUtf8(placeHolderContent);options.parse=function(placeHolderContent){return moduleParse(placeHolderContent,_objectSpread({},options,{},token,{startOffset:startOffset,modules:modules}))};parsed.push(options.parse(placeHolderContent));Array.prototype.push.apply(parsed,tailParts);tailParts=[]}if(token.position===&quot;start&quot;){tailParts=[];startOffset=token.offset}placeHolderContent=&quot;&quot;;return parsed}if(!inPlaceHolder){parsed.push(token);return parsed}if(token.type!==&quot;content&quot;||token.position!==&quot;insidetag&quot;){tailParts.push(token);return parsed}placeHolderContent+=token.value;return parsed},[])}};module.exports=parser},{&quot;./doc-utils&quot;:2,&quot;./prefix-matcher&quot;:17}],16:[function(require,module,exports){&quot;use strict&quot;;function postrender(parts,options){for(var i=0,l=options.modules.length;i&lt;l;i++){var _module=options.modules[i];parts=_module.postrender(parts,options)}var contains=options.fileTypeConfig.tagShouldContain||[];return options.joinUncorrupt(parts,contains)}module.exports=postrender},{}],17:[function(require,module,exports){&quot;use strict&quot;;function match(condition,placeHolderContent){if(typeof condition===&quot;string&quot;){return placeHolderContent.substr(0,condition.length)===condition}if(condition instanceof RegExp){return condition.test(placeHolderContent)}}function getValue(condition,placeHolderContent){if(typeof condition===&quot;string&quot;){return placeHolderContent.substr(condition.length)}if(condition instanceof RegExp){return placeHolderContent.match(condition)[1]}}function getValues(condition,placeHolderContent){if(condition instanceof RegExp){return placeHolderContent.match(condition)}}module.exports={match:match,getValue:getValue,getValues:getValues}},{}],18:[function(require,module,exports){&quot;use strict&quot;;var _require=require(&quot;./doc-utils&quot;),concatArrays=_require.concatArrays;var _require2=require(&quot;./errors&quot;),throwUnimplementedTagType=_require2.throwUnimplementedTagType;function moduleRender(part,options){var moduleRendered;for(var i=0,l=options.modules.length;i&lt;l;i++){var _module=options.modules[i];moduleRendered=_module.render(part,options);if(moduleRendered){return moduleRendered}}return false}function render(options){var baseNullGetter=options.baseNullGetter;var compiled=options.compiled,scopeManager=options.scopeManager;options.nullGetter=function(part,sm){return baseNullGetter(part,sm||scopeManager)};if(!options.prefix){options.prefix=&quot;&quot;}if(options.index){options.prefix=options.prefix+options.index+&quot;-&quot;}var errors=[];var parts=compiled.map(function(part,i){options.index=i;var moduleRendered=moduleRender(part,options);if(moduleRendered){if(moduleRendered.errors){errors=concatArrays([errors,moduleRendered.errors])}return moduleRendered.value}if(part.type===&quot;content&quot;||part.type===&quot;tag&quot;){return part.value}throwUnimplementedTagType(part,i)});return{errors:errors,parts:parts}}module.exports=render},{&quot;./doc-utils&quot;:2,&quot;./errors&quot;:3}],19:[function(require,module,exports){&quot;use strict&quot;;function moduleResolve(part,options){var moduleResolved;for(var i=0,l=options.modules.length;i&lt;l;i++){var _module=options.modules[i];moduleResolved=_module.resolve(part,options);if(moduleResolved){return moduleResolved}}return false}function resolve(options){var resolved=[];var baseNullGetter=options.baseNullGetter;var compiled=options.compiled,scopeManager=options.scopeManager;options.nullGetter=function(part,sm){return baseNullGetter(part,sm||scopeManager)};options.resolved=resolved;var errors=[];return Promise.all(compiled.map(function(part){return Promise.resolve().then(function(){var moduleResolved=moduleResolve(part,options);if(moduleResolved){return moduleResolved.then(function(value){resolved.push({tag:part.value,value:value,lIndex:part.lIndex})})}if(part.type===&quot;placeholder&quot;){return scopeManager.getValueAsync(part.value,{part:part}).then(function(value){if(value==null){value=options.nullGetter(part)}resolved.push({tag:part.value,value:value,lIndex:part.lIndex});return value})}return})[&quot;catch&quot;](function(e){errors.push(e)})}).filter(function(a){return a})).then(function(){return{errors:errors,resolved:resolved}})}module.exports=resolve},{}],20:[function(require,module,exports){&quot;use strict&quot;;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===&quot;[object Arguments]&quot;)){return}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&amp;&amp;_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&amp;&amp;_i[&quot;return&quot;]!=null)_i[&quot;return&quot;]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var _require=require(&quot;./errors&quot;),getScopeParserExecutionError=_require.getScopeParserExecutionError;var _require2=require(&quot;./utils&quot;),last=_require2.last;function find(list,fn){var length=list.length&gt;&gt;&gt;0;var value;for(var i=0;i&lt;length;i++){value=list[i];if(fn.call(this,value,i,list)){return value}}return undefined}function _getValue(tag,meta,num){var _this=this;var scope=this.scopeList[num];if(this.resolved){var w=this.resolved;this.scopePath.forEach(function(p,index){var lIndex=_this.scopeLindex[index];w=find(w,function(r){return r.lIndex===lIndex});w=w.value[_this.scopePathItem[index]]});return[this.scopePath.length-1,find(w,function(r){return meta.part.lIndex===r.lIndex}).value]}var result;var parser=this.parser(tag,{scopePath:this.scopePath});try{result=parser.get(scope,this.getContext(meta,num))}catch(error){throw getScopeParserExecutionError({tag:tag,scope:scope,error:error,offset:meta.part.offset})}if(result==null&amp;&amp;num&gt;0){return _getValue.call(this,tag,meta,num-1)}return[num,result]}function _getValueAsync(tag,meta,num){var _this2=this;var scope=this.scopeList[num];var parser=this.parser(tag,{scopePath:this.scopePath});return Promise.resolve().then(function(){return parser.get(scope,_this2.getContext(meta,num))})[&quot;catch&quot;](function(error){throw getScopeParserExecutionError({tag:tag,scope:scope,error:error,offset:meta.part.offset})}).then(function(result){if(result==null&amp;&amp;num&gt;0){return _getValueAsync.call(_this2,tag,meta,num-1)}return result})}var ScopeManager=function(){function ScopeManager(options){_classCallCheck(this,ScopeManager);this.scopePath=options.scopePath;this.scopePathItem=options.scopePathItem;this.scopePathLength=options.scopePathLength;this.scopeList=options.scopeList;this.scopeLindex=options.scopeLindex;this.parser=options.parser;this.resolved=options.resolved}_createClass(ScopeManager,[{key:&quot;loopOver&quot;,value:function loopOver(tag,functor,inverted,meta){return this.loopOverValue(this.getValue(tag,meta),functor,inverted)}},{key:&quot;functorIfInverted&quot;,value:function functorIfInverted(inverted,functor,value,i,length){if(inverted){functor(value,i,length)}return inverted}},{key:&quot;isValueFalsy&quot;,value:function isValueFalsy(value,type){return value==null||!value||type===&quot;[object Array]&quot;&amp;&amp;value.length===0}},{key:&quot;loopOverValue&quot;,value:function loopOverValue(value,functor,inverted){if(this.resolved){inverted=false}var type=Object.prototype.toString.call(value);if(this.isValueFalsy(value,type)){return this.functorIfInverted(inverted,functor,last(this.scopeList),0,1)}if(type===&quot;[object Array]&quot;){for(var i=0;i&lt;value.length;i++){this.functorIfInverted(!inverted,functor,value[i],i,value.length)}return true}if(type===&quot;[object Object]&quot;){return this.functorIfInverted(!inverted,functor,value,0,1)}return this.functorIfInverted(!inverted,functor,last(this.scopeList),0,1)}},{key:&quot;getValue&quot;,value:function getValue(tag,meta){var _getValue$call=_getValue.call(this,tag,meta,this.scopeList.length-1),_getValue$call2=_slicedToArray(_getValue$call,2),num=_getValue$call2[0],result=_getValue$call2[1];this.num=num;return result}},{key:&quot;getValueAsync&quot;,value:function getValueAsync(tag,meta){return _getValueAsync.call(this,tag,meta,this.scopeList.length-1)}},{key:&quot;getContext&quot;,value:function getContext(meta,num){return{num:num,meta:meta,scopeList:this.scopeList,resolved:this.resolved,scopePath:this.scopePath,scopePathItem:this.scopePathItem,scopePathLength:this.scopePathLength}}},{key:&quot;createSubScopeManager&quot;,value:function createSubScopeManager(scope,tag,i,part,length){return new ScopeManager({resolved:this.resolved,parser:this.parser,scopeList:this.scopeList.concat(scope),scopePath:this.scopePath.concat(tag),scopePathItem:this.scopePathItem.concat(i),scopePathLength:this.scopePathLength.concat(length),scopeLindex:this.scopeLindex.concat(part.lIndex)})}}]);return ScopeManager}();module.exports=function(options){options.scopePath=[];options.scopePathItem=[];options.scopePathLength=[];options.scopeLindex=[];options.scopeList=[options.tags];return new ScopeManager(options)}},{&quot;./errors&quot;:3,&quot;./utils&quot;:22}],21:[function(require,module,exports){&quot;use strict&quot;;function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable});keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i&lt;arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _typeof(obj){&quot;@babel/helpers - typeof&quot;;if(typeof Symbol===&quot;function&quot;&amp;&amp;typeof Symbol.iterator===&quot;symbol&quot;){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&amp;&amp;typeof Symbol===&quot;function&quot;&amp;&amp;obj.constructor===Symbol&amp;&amp;obj!==Symbol.prototype?&quot;symbol&quot;:typeof obj}}return _typeof(obj)}var _require=require(&quot;./doc-utils&quot;),getRightOrNull=_require.getRightOrNull,getRight=_require.getRight,getLeft=_require.getLeft,getLeftOrNull=_require.getLeftOrNull,concatArrays=_require.concatArrays,chunkBy=_require.chunkBy,isTagStart=_require.isTagStart,isTagEnd=_require.isTagEnd,isContent=_require.isContent,last=_require.last,first=_require.first;var _require2=require(&quot;./errors&quot;),XTTemplateError=_require2.XTTemplateError,throwExpandNotFound=_require2.throwExpandNotFound,getLoopPositionProducesInvalidXMLError=_require2.getLoopPositionProducesInvalidXMLError;function lastTagIsOpenTag(tags,tag){if(tags.length===0){return false}var innerLastTag=last(tags).tag.substr(1);var innerCurrentTag=tag.substr(2,tag.length-3);return innerLastTag.indexOf(innerCurrentTag)===0}function addTag(tags,tag){tags.push({tag:tag});return tags}function getListXmlElements(parts){var tags=parts.filter(function(part){return part.type===&quot;tag&quot;});var result=[];for(var i=0,tag;i&lt;tags.length;i++){tag=tags[i].value;if(tag[1]===&quot;/&quot;){if(lastTagIsOpenTag(result,tag)){result.pop()}else{result=addTag(result,tag)}}else if(tag[tag.length-2]!==&quot;/&quot;){result=addTag(result,tag)}}return result}function has(name,xmlElements){for(var i=0;i&lt;xmlElements.length;i++){var xmlElement=xmlElements[i];if(xmlElement.tag.indexOf(&quot;&lt;&quot;.concat(name))===0){return true}}return false}function getExpandToDefault(postparsed,pair,expandTags){var parts=postparsed.slice(pair[0].offset,pair[1].offset);var xmlElements=getListXmlElements(parts);var closingTagCount=xmlElements.filter(function(xmlElement){return xmlElement.tag[1]===&quot;/&quot;}).length;var startingTagCount=xmlElements.filter(function(xmlElement){var tag=xmlElement.tag;return tag[1]!==&quot;/&quot;&amp;&amp;tag[tag.length-2]!==&quot;/&quot;}).length;if(closingTagCount!==startingTagCount){return{error:getLoopPositionProducesInvalidXMLError({tag:first(pair).part.value,offset:[first(pair).part.offset,last(pair).part.offset]})}}var _loop=function _loop(i,len){var _expandTags$i=expandTags[i],contains=_expandTags$i.contains,expand=_expandTags$i.expand,onlyTextInTag=_expandTags$i.onlyTextInTag;if(has(contains,xmlElements)){if(onlyTextInTag){var left=getLeftOrNull(postparsed,contains,pair[0].offset);var right=getRightOrNull(postparsed,contains,pair[1].offset);if(left===null||right===null){return&quot;continue&quot;}var chunks=chunkBy(postparsed.slice(left,right),function(p){if(isTagStart(contains,p)){return&quot;start&quot;}if(isTagEnd(contains,p)){return&quot;end&quot;}return null});if(chunks.length&lt;=2){return&quot;continue&quot;}var firstChunk=first(chunks);var lastChunk=last(chunks);var firstContent=firstChunk.filter(isContent);var lastContent=lastChunk.filter(isContent);if(firstContent.length!==1||lastContent.length!==1){return&quot;continue&quot;}}return{v:{value:expand}}}};for(var i=0,len=expandTags.length;i&lt;len;i++){var _ret=_loop(i,len);switch(_ret){case&quot;continue&quot;:continue;default:if(_typeof(_ret)===&quot;object&quot;)return _ret.v}}return false}function expandOne(part,postparsed,options){var expandTo=part.expandTo||options.expandTo;var index=postparsed.indexOf(part);if(!expandTo){return postparsed}var right,left;try{left=getLeft(postparsed,expandTo,index);right=getRight(postparsed,expandTo,index)}catch(rootError){if(rootError instanceof XTTemplateError){throwExpandNotFound(_objectSpread({part:part,rootError:rootError,postparsed:postparsed,expandTo:expandTo,index:index},options.error))}throw rootError}var leftParts=postparsed.slice(left,index);var rightParts=postparsed.slice(index+1,right+1);var inner=options.getInner({postparse:options.postparse,index:index,part:part,leftParts:leftParts,rightParts:rightParts,left:left,right:right,postparsed:postparsed});if(!inner.length){inner.expanded=[leftParts,rightParts];inner=[inner]}return concatArrays([postparsed.slice(0,left),inner,postparsed.slice(right+1)])}function expandToOne(postparsed,options){var errors=[];if(postparsed.errors){errors=postparsed.errors;postparsed=postparsed.postparsed}var expandToElements=postparsed.reduce(function(elements,part){if(part.type===&quot;placeholder&quot;&amp;&amp;part.module===options.moduleName){elements.push(part)}return elements},[]);expandToElements.forEach(function(part){try{postparsed=expandOne(part,postparsed,options)}catch(error){if(error instanceof XTTemplateError){errors.push(error)}else{throw error}}});return{postparsed:postparsed,errors:errors}}module.exports={expandToOne:expandToOne,getExpandToDefault:getExpandToDefault}},{&quot;./doc-utils&quot;:2,&quot;./errors&quot;:3}],22:[function(require,module,exports){&quot;use strict&quot;;function last(a){return a[a.length-1]}function first(a){return a[0]}module.exports={last:last,first:first}},{}],23:[function(require,module,exports){&quot;use strict&quot;;var _require=require(&quot;./doc-utils&quot;),pregMatchAll=_require.pregMatchAll;function handleRecursiveCase(res){function replacerUnshift(){var pn={array:Array.prototype.slice.call(arguments)};pn.array.shift();var match=pn.array[0]+pn.array[1];pn.array.unshift(match);pn.array.pop();var offset=pn.array.pop();pn.offset=offset;pn.first=true;res.matches.unshift(pn)}if(res.content.indexOf(&quot;&lt;&quot;)===-1&amp;&amp;res.content.indexOf(&quot;&gt;&quot;)===-1){res.content.replace(/^()([^&lt;&gt;]*)$/,replacerUnshift)}var r=new RegExp(&quot;^()([^&lt;]+)&lt;/(?:&quot;.concat(res.tagsXmlArrayJoined,&quot;)&gt;&quot;));res.content.replace(r,replacerUnshift);function replacerPush(){var pn={array:Array.prototype.slice.call(arguments)};pn.array.pop();var offset=pn.array.pop();pn.offset=offset;pn.last=true;if(pn.array[0].indexOf(&quot;/&gt;&quot;)!==-1){return}res.matches.push(pn)}r=new RegExp(&quot;(&lt;(?:&quot;.concat(res.tagsXmlArrayJoined,&quot;)[^&gt;]*&gt;)([^&gt;]+)$&quot;));res.content.replace(r,replacerPush);return res}module.exports=function xmlMatcher(content,tagsXmlArray){var res={};res.content=content;res.tagsXmlArray=tagsXmlArray;res.tagsXmlArrayJoined=res.tagsXmlArray.join(&quot;|&quot;);var regexp=new RegExp(&quot;(?:(&lt;(?:&quot;.concat(res.tagsXmlArrayJoined,&quot;)[^&gt;]*&gt;)([^&lt;&gt;]*)&lt;/(?:&quot;).concat(res.tagsXmlArrayJoined,&quot;)&gt;)|(&lt;(?:&quot;).concat(res.tagsXmlArrayJoined,&quot;)[^&gt;]*/&gt;)&quot;),&quot;g&quot;);res.matches=pregMatchAll(regexp,res.content);return handleRecursiveCase(res)}},{&quot;./doc-utils&quot;:2}],24:[function(require,module,exports){&quot;use strict&quot;;function _typeof(obj){&quot;@babel/helpers - typeof&quot;;if(typeof Symbol===&quot;function&quot;&amp;&amp;typeof Symbol.iterator===&quot;symbol&quot;){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&amp;&amp;typeof Symbol===&quot;function&quot;&amp;&amp;obj.constructor===Symbol&amp;&amp;obj!==Symbol.prototype?&quot;symbol&quot;:typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var _require=require(&quot;./doc-utils&quot;),wordToUtf8=_require.wordToUtf8,convertSpaces=_require.convertSpaces,defaults=_require.defaults;var createScope=require(&quot;./scope-manager&quot;);var xmlMatcher=require(&quot;./xml-matcher&quot;);var _require2=require(&quot;./errors&quot;),throwMultiError=_require2.throwMultiError,throwContentMustBeString=_require2.throwContentMustBeString;var Lexer=require(&quot;./lexer&quot;);var Parser=require(&quot;./parser.js&quot;);var _render=require(&quot;./render.js&quot;);var postrender=require(&quot;./postrender.js&quot;);var resolve=require(&quot;./resolve.js&quot;);var joinUncorrupt=require(&quot;./join-uncorrupt&quot;);function _getFullText(content,tagsXmlArray){var matcher=xmlMatcher(content,tagsXmlArray);var result=matcher.matches.map(function(match){return match.array[2]});return wordToUtf8(convertSpaces(result.join(&quot;&quot;)))}module.exports=function(){function XmlTemplater(content,options){_classCallCheck(this,XmlTemplater);this.filePath=options.filePath;this.modules=options.modules;this.fileTypeConfig=options.fileTypeConfig;Object.keys(defaults).map(function(key){this[key]=options[key]!=null?options[key]:defaults[key]},this);this.setModules({inspect:{filePath:this.filePath}});this.load(content)}_createClass(XmlTemplater,[{key:&quot;load&quot;,value:function load(content){if(typeof content!==&quot;string&quot;){throwContentMustBeString(_typeof(content))}this.content=content}},{key:&quot;setTags&quot;,value:function setTags(tags){this.tags=tags!=null?tags:{};this.scopeManager=createScope({tags:this.tags,parser:this.parser});return this}},{key:&quot;resolveTags&quot;,value:function resolveTags(tags){var _this=this;this.tags=tags!=null?tags:{};this.scopeManager=createScope({tags:this.tags,parser:this.parser});var options=this.getOptions();options.scopeManager=createScope(options);options.resolve=resolve;return resolve(options).then(function(_ref){var resolved=_ref.resolved,errors=_ref.errors;if(errors.length!==0){throw errors}return Promise.all(resolved.map(function(r){return Promise.resolve(r)})).then(function(resolved){_this.setModules({inspect:{resolved:resolved}});return _this.resolved=resolved})})}},{key:&quot;getFullText&quot;,value:function getFullText(){return _getFullText(this.content,this.fileTypeConfig.tagsXmlTextArray)}},{key:&quot;setModules&quot;,value:function setModules(obj){this.modules.forEach(function(module){module.set(obj)})}},{key:&quot;preparse&quot;,value:function preparse(){this.allErrors=[];this.xmllexed=Lexer.xmlparse(this.content,{text:this.fileTypeConfig.tagsXmlTextArray,other:this.fileTypeConfig.tagsXmlLexedArray});this.setModules({inspect:{xmllexed:this.xmllexed}});var _Lexer$parse=Lexer.parse(this.xmllexed,this.delimiters),lexed=_Lexer$parse.lexed,lexerErrors=_Lexer$parse.errors;this.allErrors=this.allErrors.concat(lexerErrors);this.lexed=lexed;this.setModules({inspect:{lexed:this.lexed}});var options=this.getOptions();Parser.preparse(this.lexed,this.modules,options)}},{key:&quot;parse&quot;,value:function parse(){this.setModules({inspect:{filePath:this.filePath}});var options=this.getOptions();this.parsed=Parser.parse(this.lexed,this.modules,options);this.setModules({inspect:{parsed:this.parsed}});var _Parser$postparse=Parser.postparse(this.parsed,this.modules,options),postparsed=_Parser$postparse.postparsed,postparsedErrors=_Parser$postparse.errors;this.postparsed=postparsed;this.setModules({inspect:{postparsed:this.postparsed}});this.allErrors=this.allErrors.concat(postparsedErrors);this.errorChecker(this.allErrors);return this}},{key:&quot;errorChecker&quot;,value:function errorChecker(errors){var _this2=this;if(errors.length){this.modules.forEach(function(module){errors=module.errorsTransformer(errors)});errors.forEach(function(error){error.properties.file=_this2.filePath});throwMultiError(errors)}}},{key:&quot;baseNullGetter&quot;,value:function baseNullGetter(part,sm){var _this3=this;var value=this.modules.reduce(function(value,module){if(value!=null){return value}return module.nullGetter(part,sm,_this3)},null);if(value!=null){return value}return this.nullGetter(part,sm)}},{key:&quot;getOptions&quot;,value:function getOptions(){return{compiled:this.postparsed,tags:this.tags,modules:this.modules,parser:this.parser,baseNullGetter:this.baseNullGetter.bind(this),filePath:this.filePath,fileTypeConfig:this.fileTypeConfig,linebreaks:this.linebreaks}}},{key:&quot;render&quot;,value:function render(to){this.filePath=to;var options=this.getOptions();options.resolved=this.resolved;options.scopeManager=createScope(options);options.render=_render;options.joinUncorrupt=joinUncorrupt;var _render2=_render(options),errors=_render2.errors,parts=_render2.parts;this.errorChecker(errors);this.content=postrender(parts,options);this.setModules({inspect:{content:this.content}});return this}}]);return XmlTemplater}()},{&quot;./doc-utils&quot;:2,&quot;./errors&quot;:3,&quot;./join-uncorrupt&quot;:5,&quot;./lexer&quot;:6,&quot;./parser.js&quot;:15,&quot;./postrender.js&quot;:16,&quot;./render.js&quot;:18,&quot;./resolve.js&quot;:19,&quot;./scope-manager&quot;:20,&quot;./xml-matcher&quot;:23}],&quot;/src/js/docxtemplater.js&quot;:[function(require,module,exports){&quot;use strict&quot;;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(&quot;Cannot call a class as a function&quot;)}}function _defineProperties(target,props){for(var i=0;i&lt;props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(&quot;value&quot;in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var DocUtils=require(&quot;./doc-utils&quot;);DocUtils.traits=require(&quot;./traits&quot;);DocUtils.moduleWrapper=require(&quot;./module-wrapper&quot;);var _require=require(&quot;./errors&quot;),throwMultiError=_require.throwMultiError;var commonModule=require(&quot;./modules/common&quot;);var ctXML=&quot;[Content_Types].xml&quot;;var Lexer=require(&quot;./lexer&quot;);var defaults=DocUtils.defaults,str2xml=DocUtils.str2xml,xml2str=DocUtils.xml2str,moduleWrapper=DocUtils.moduleWrapper,utf8ToWord=DocUtils.utf8ToWord,concatArrays=DocUtils.concatArrays,unique=DocUtils.unique;var _require2=require(&quot;./errors&quot;),XTInternalError=_require2.XTInternalError,throwFileTypeNotIdentified=_require2.throwFileTypeNotIdentified,throwFileTypeNotHandled=_require2.throwFileTypeNotHandled,throwApiVersionError=_require2.throwApiVersionError;var currentModuleApiVersion=[3,21,0];var Docxtemplater=function(){function Docxtemplater(){_classCallCheck(this,Docxtemplater);if(arguments.length&gt;0){throw new Error(&quot;The constructor with parameters has been removed in docxtemplater 3, please check the upgrade guide.&quot;)}this.compiled={};this.modules=[commonModule()];this.setOptions({})}_createClass(Docxtemplater,[{key:&quot;getModuleApiVersion&quot;,value:function getModuleApiVersion(){return currentModuleApiVersion.join(&quot;.&quot;)}},{key:&quot;verifyApiVersion&quot;,value:function verifyApiVersion(neededVersion){neededVersion=neededVersion.split(&quot;.&quot;).map(function(i){return parseInt(i,10)});if(neededVersion.length!==3){throwApiVersionError(&quot;neededVersion is not a valid version&quot;,{neededVersion:neededVersion,explanation:&quot;the neededVersion must be an array of length 3&quot;})}if(neededVersion[0]!==currentModuleApiVersion[0]){throwApiVersionError(&quot;The major api version do not match, you probably have to update docxtemplater with npm install --save docxtemplater&quot;,{neededVersion:neededVersion,currentModuleApiVersion:currentModuleApiVersion,explanation:&quot;moduleAPIVersionMismatch : needed=&quot;.concat(neededVersion.join(&quot;.&quot;),&quot;, current=&quot;).concat(currentModuleApiVersion.join(&quot;.&quot;))})}if(neededVersion[1]&gt;currentModuleApiVersion[1]){throwApiVersionError(&quot;The minor api version is not uptodate, you probably have to update docxtemplater with npm install --save docxtemplater&quot;,{neededVersion:neededVersion,currentModuleApiVersion:currentModuleApiVersion,explanation:&quot;moduleAPIVersionMismatch : needed=&quot;.concat(neededVersion.join(&quot;.&quot;),&quot;, current=&quot;).concat(currentModuleApiVersion.join(&quot;.&quot;))})}return true}},{key:&quot;setModules&quot;,value:function setModules(obj){this.modules.forEach(function(module){module.set(obj)})}},{key:&quot;sendEvent&quot;,value:function sendEvent(eventName){this.modules.forEach(function(module){module.on(eventName)})}},{key:&quot;attachModule&quot;,value:function attachModule(module){var options=arguments.length&gt;1&amp;&amp;arguments[1]!==undefined?arguments[1]:{};if(module.requiredAPIVersion){this.verifyApiVersion(module.requiredAPIVersion)}if(module.attached===true){throw new Error(&quot;Cannot attach a module that was already attached&quot;)}module.attached=true;var prefix=options.prefix;if(prefix){module.prefix=prefix}var wrappedModule=moduleWrapper(module);this.modules.push(wrappedModule);wrappedModule.on(&quot;attached&quot;);return this}},{key:&quot;setOptions&quot;,value:function setOptions(options){var _this=this;if(!options){throw new Error(&quot;setOptions should be called with an object as first parameter&quot;)}if(options.delimiters){options.delimiters.start=utf8ToWord(options.delimiters.start);options.delimiters.end=utf8ToWord(options.delimiters.end)}this.options=options;Object.keys(defaults).forEach(function(key){var defaultValue=defaults[key];_this.options[key]=_this.options[key]!=null?_this.options[key]:defaultValue;_this[key]=_this.options[key]});if(this.zip){this.updateFileTypeConfig()}return this}},{key:&quot;loadZip&quot;,value:function loadZip(zip){if(zip.loadAsync){throw new XTInternalError(&quot;Docxtemplater doesn&#39;t handle JSZip version &gt;=3, please use pizzip&quot;)}this.zip=zip;this.updateFileTypeConfig();this.modules=concatArrays([this.fileTypeConfig.baseModules.map(function(moduleFunction){return moduleFunction()}),this.modules]);return this}},{key:&quot;compileFile&quot;,value:function compileFile(fileName){this.compiled[fileName].parse()}},{key:&quot;precompileFile&quot;,value:function precompileFile(fileName){var currentFile=this.createTemplateClass(fileName);currentFile.preparse();this.compiled[fileName]=currentFile}},{key:&quot;resolveData&quot;,value:function resolveData(data){var _this2=this;var errors=[];return Promise.resolve(data).then(function(data){return Promise.all(Object.keys(_this2.compiled).map(function(from){var currentFile=_this2.compiled[from];return currentFile.resolveTags(data)[&quot;catch&quot;](function(errs){errors=errors.concat(errs)})}))}).then(function(resolved){if(errors.length!==0){throwMultiError(errors)}return concatArrays(resolved)})}},{key:&quot;compile&quot;,value:function compile(){var _this3=this;if(Object.keys(this.compiled).length){return this}this.options=this.modules.reduce(function(options,module){return module.optionsTransformer(options,_this3)},this.options);this.options.xmlFileNames=unique(this.options.xmlFileNames);this.xmlDocuments=this.options.xmlFileNames.reduce(function(xmlDocuments,fileName){var content=_this3.zip.files[fileName].asText();xmlDocuments[fileName]=str2xml(content);return xmlDocuments},{});this.setModules({zip:this.zip,xmlDocuments:this.xmlDocuments});this.getTemplatedFiles();this.setModules({compiled:this.compiled});this.templatedFiles.forEach(function(fileName){if(_this3.zip.files[fileName]!=null){_this3.precompileFile(fileName)}});this.templatedFiles.forEach(function(fileName){if(_this3.zip.files[fileName]!=null){_this3.compileFile(fileName)}});return this}},{key:&quot;updateFileTypeConfig&quot;,value:function updateFileTypeConfig(){var _this4=this;var fileType;if(this.zip.files.mimetype){fileType=&quot;odt&quot;}var contentTypes=this.zip.files[ctXML];this.targets=[];var contentTypeXml=contentTypes?str2xml(contentTypes.asText()):null;var overrides=contentTypeXml?contentTypeXml.getElementsByTagName(&quot;Override&quot;):null;var defaults=contentTypeXml?contentTypeXml.getElementsByTagName(&quot;Default&quot;):null;this.modules.forEach(function(module){fileType=module.getFileType({zip:_this4.zip,contentTypes:contentTypes,contentTypeXml:contentTypeXml,overrides:overrides,defaults:defaults,doc:_this4})||fileType});if(fileType===&quot;odt&quot;){throwFileTypeNotHandled(fileType)}if(!fileType){throwFileTypeNotIdentified()}this.fileType=fileType;this.fileTypeConfig=this.options.fileTypeConfig||this.fileTypeConfig||Docxtemplater.FileTypeConfig[this.fileType];return this}},{key:&quot;render&quot;,value:function render(){var _this5=this;this.compile();this.setModules({data:this.data,Lexer:Lexer});this.mapper=this.modules.reduce(function(value,module){return module.getRenderedMap(value)},{});this.fileTypeConfig.tagsXmlLexedArray=unique(this.fileTypeConfig.tagsXmlLexedArray);this.fileTypeConfig.tagsXmlTextArray=unique(this.fileTypeConfig.tagsXmlTextArray);Object.keys(this.mapper).forEach(function(to){var _this5$mapper$to=_this5.mapper[to],from=_this5$mapper$to.from,data=_this5$mapper$to.data;var currentFile=_this5.compiled[from];currentFile.setTags(data);currentFile.render(to);_this5.zip.file(to,currentFile.content,{createFolders:true})});this.sendEvent(&quot;syncing-zip&quot;);this.syncZip();return this}},{key:&quot;syncZip&quot;,value:function syncZip(){var _this6=this;Object.keys(this.xmlDocuments).forEach(function(fileName){_this6.zip.remove(fileName);var content=xml2str(_this6.xmlDocuments[fileName]);return _this6.zip.file(fileName,content,{createFolders:true})})}},{key:&quot;setData&quot;,value:function setData(data){this.data=data;return this}},{key:&quot;getZip&quot;,value:function getZip(){return this.zip}},{key:&quot;createTemplateClass&quot;,value:function createTemplateClass(path){var content=this.zip.files[path].asText();return this.createTemplateClassFromContent(content,path)}},{key:&quot;createTemplateClassFromContent&quot;,value:function createTemplateClassFromContent(content,filePath){var _this7=this;var xmltOptions={filePath:filePath};Object.keys(defaults).forEach(function(key){xmltOptions[key]=_this7[key]});xmltOptions.fileTypeConfig=this.fileTypeConfig;xmltOptions.modules=this.modules;return new Docxtemplater.XmlTemplater(content,xmltOptions)}},{key:&quot;getFullText&quot;,value:function getFullText(path){return this.createTemplateClass(path||this.fileTypeConfig.textPath(this)).getFullText()}},{key:&quot;getTemplatedFiles&quot;,value:function getTemplatedFiles(){var _this8=this;this.templatedFiles=this.fileTypeConfig.getTemplatedFiles(this.zip);this.targets.forEach(function(target){_this8.templatedFiles.push(target)});return this.templatedFiles}}]);return Docxtemplater}();Docxtemplater.DocUtils=DocUtils;Docxtemplater.Errors=require(&quot;./errors&quot;);Docxtemplater.XmlTemplater=require(&quot;./xml-templater&quot;);Docxtemplater.FileTypeConfig=require(&quot;./file-type-config&quot;);Docxtemplater.XmlMatcher=require(&quot;./xml-matcher&quot;);module.exports=Docxtemplater},{&quot;./doc-utils&quot;:2,&quot;./errors&quot;:3,&quot;./file-type-config&quot;:4,&quot;./lexer&quot;:6,&quot;./module-wrapper&quot;:8,&quot;./modules/common&quot;:9,&quot;./traits&quot;:21,&quot;./xml-matcher&quot;:23,&quot;./xml-templater&quot;:24}]},{},[])(&quot;/src/js/docxtemplater.js&quot;)});</td>
        </tr>
  </table>
  
    <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true">
      <summary class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1" aria-label="Inline file action toolbar">
        <svg class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path></svg>
      </summary>
      <details-menu>
        <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2" style="width:185px">
          <li>
            <clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-lines" style="cursor:pointer;">
              Copy lines
            </clipboard-copy>
          </li>
          <li>
            <clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-permalink" style="cursor:pointer;">
              Copy permalink
            </clipboard-copy>
          </li>
          <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" role="menuitem" href="/open-xml-templating/docxtemplater-build/blame/fa87b045786e4c28ef2a0d03e4213bb47880731c/build/docxtemplater-latest.min.js">View git blame</a></li>
            <li><a class="dropdown-item" id="js-new-issue" role="menuitem" href="/open-xml-templating/docxtemplater-build/issues/new">Reference in new issue</a></li>
        </ul>
      </details-menu>
    </details>
  
    </div>
  
      </div>
  
    
  
  
    <details class="details-reset details-overlay details-overlay-dark" id="jumpto-line-details-dialog">
      <summary data-hotkey="l" aria-label="Jump to line"></summary>
      <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line">
        <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get">
          <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
          <button type="submit" class="btn" data-close-dialog>Go</button>
  </form>    </details-dialog>
    </details>
  
      <div class="Popover anim-scale-in js-tagsearch-popover"
       hidden
       data-tagsearch-url="/open-xml-templating/docxtemplater-build/find-symbols"
       data-tagsearch-ref="master"
       data-tagsearch-path="build/docxtemplater-latest.min.js"
       data-tagsearch-lang="JavaScript"
       data-hydro-click="{&quot;event_type&quot;:&quot;code_navigation.click_on_symbol&quot;,&quot;payload&quot;:{&quot;action&quot;:&quot;click_on_symbol&quot;,&quot;repository_id&quot;:40808874,&quot;ref&quot;:&quot;master&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;originating_url&quot;:&quot;https://github.com/open-xml-templating/docxtemplater-build/blob/master/build/docxtemplater-latest.min.js&quot;,&quot;user_id&quot;:30315375}}"
       data-hydro-click-hmac="b061021711a89a0bd519cce8b1fe1934403077f28ffc93202a6344a15eff8bf2">
    <div class="Popover-message Popover-message--large Popover-message--top-left TagsearchPopover mt-1 mb-4 mx-auto Box box-shadow-large">
      <div class="TagsearchPopover-content js-tagsearch-popover-content overflow-auto" style="will-change:transform;">
      </div>
    </div>
  </div>
  
  
  
  
    </div>
  </div>
  
      </main>
    </div>
    
  
    </div>
  
          
  <div class="footer container-lg width-full p-responsive" role="contentinfo">
    <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light ">
      <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
        <li class="mr-3 mr-lg-0">&copy; 2020 GitHub, Inc.</li>
          <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li>
          <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li>
          <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
          <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li>
  
      </ul>
  
      <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
        <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
  </a>
     <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
          <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li>
        <li class="mr-3 mr-lg-0"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
        <li class="mr-3 mr-lg-0"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
          <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
      </ul>
    </div>
    <div class="d-flex flex-justify-center pb-6">
      <span class="f6 text-gray-light"></span>
    </div>
  </div>
  
  
  
    <div id="ajax-error-message" class="ajax-error-message flash flash-error">
      <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg>
      <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
        <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
      </button>
      You can’t perform that action at this time.
    </div>
  
  
      <script crossorigin="anonymous" async="async" integrity="sha512-WcQmT2vhcClFVOaaAJV/M+HqsJ2Gq/myvl6F3gCVBxykazXTs+i5fvxncSXwyG1CSfcrqmLFw/R/bmFYzprX2A==" type="application/javascript" id="js-conditional-compat" data-src="https://github.githubassets.com/assets/compat-bootstrap-59c4264f.js"></script>
      <script crossorigin="anonymous" integrity="sha512-Y86V8OBlvF6I/7e56GKOOt80Yg1RTGA09uqFFX18aiBtevLbKGxB7sVpCn79fukppFIBqyBTB/s6l0Bhn0kidQ==" type="application/javascript" src="https://github.githubassets.com/assets/environment-bootstrap-63ce95f0.js"></script>
      <script crossorigin="anonymous" async="async" integrity="sha512-jfR+4VdZuPf5Ck+JA3AZuzWGHz9Sb21keZOYuMoNdfMJovIUb9vxfSdvNSchxAwj5oav48KBfa54+wbuuW8Tlg==" type="application/javascript" src="https://github.githubassets.com/assets/vendor-8df47ee1.js"></script>
      <script crossorigin="anonymous" async="async" integrity="sha512-v96znx7UoCTT9x5ExGL602c2pkjISH54Zz3tEp0/+OfmPEvofzbEEEmc1kpAj9FUQ7kCho2vcC7kp3FCGtdCdg==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-bfdeb39f.js"></script>
      
      <script crossorigin="anonymous" async="async" integrity="sha512-HNGRjU3rtArl8isOhJtxa4wida3KT2uxDO9qHCi7KAh6BaR7wnami6TSoBEP9WqZTEsywm7kSvLy4IiXV7eqgw==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-1cd1918d.js"></script>
      
        <script crossorigin="anonymous" async="async" integrity="sha512-4GcSWGoe36+BoWho4gtJcByZe8j43w+lt2/PDe3rmBxRVSgD29YipDwuIywe8fvOd2b2CszBqaPGxSznUtE3Xg==" type="application/javascript" data-module-id="./drag-drop.js" data-src="https://github.githubassets.com/assets/drag-drop-e0671258.js"></script>
        <script crossorigin="anonymous" async="async" integrity="sha512-3Vk1NFIOm+TBUMM6pTA6DCUwwLLnc/QIT8jpENm71InvSU8O4p2plDagpst1tH1l+9jOBnneaXZnAskA9a2b3w==" type="application/javascript" data-module-id="./gist-vendor.js" data-src="https://github.githubassets.com/assets/gist-vendor-dd593534.js"></script>
        <script crossorigin="anonymous" async="async" integrity="sha512-iv+4yAluOjiG50ZypUBIWIUCRDo6JEBf2twvmd5AelxgPQJO/XC1oNMGTMdDfKt30p7G7fHEOTZ2utHWDJ9PPQ==" type="application/javascript" data-module-id="./randomColor.js" data-src="https://github.githubassets.com/assets/randomColor-8affb8c8.js"></script>
      
      
    <div class="js-stale-session-flash flash flash-warn flash-banner" hidden
      >
      <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg>
      <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
      <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
    </div>
    <template id="site-details-dialog">
    <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open>
      <summary role="button" aria-label="Close dialog"></summary>
      <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
        <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
          <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
        </button>
        <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
      </details-dialog>
    </details>
  </template>
  
    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
    <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;">
    </div>
  </div>
  
  
    </body>
  </html>
  
  